I work at Interstate Batteries to help out my uncle and to make $$ while I look for a job dealing with my degree. I charge, test, and do everything batteries all day every day. I am not saying I know all that much about batteries, but I know how to charge them and maintain them. At what rate are you charging the batteries? I charge 12 batteries in series at no more than 3 amps. When charging a single battery I would do the same or less. You can charge them with more amps, but it will lessen the life of the battery. Check the acid level on each cell, if it is low, add distilled water. We add acid, but water is better. If you add water the charge will deplete, if you add acid it won't, but adding water and charging is better for the battery.
There is no way a battery will stay charged through the winter. There is a chance that you have a bad cell, get yourself a hydrometer and check each cell individually. If the cells are not somewhat even, there is a good chance you have a bad cell. Even if you have a bad cell, the other cells will charge higher than usual to compensate for the bad one, showing that you still may have a fully charged battery with a volt meter, but it will not hold an extended load.
With that being said, I have no experience with onboard chargers and have no idea how they work. I would imagine they work like a battery tender, if not, that is what I would suggest for you next winter.
As a side note, Walmart batteries are either made by exide, or johnson control, which is who interstate is made by. This is determined by region, I am not sure on what region gets what, but exide is absolute crap.
As long as a battery is maintained correctly, it can easily last 10 years. I could go on countless rants of how people bring in year old dead batteries telling me that it is bad, all I do is charge it up and it is just fine.