The design of the hi-lo roof is part at fault. With the steel inter-frame and the aluminum roof, there is no water proof isulation of the two dissimilar metals (on my 97, they used cardboard that holds moisture). With the dampness trapped, even from condensation, it causes electrolysis. This reaction will break down or eat away the underside of the aluminum roof causing pin holes and more leaks. The best way to fix this is replace the aluminum roof and add a isulator membrane such as weatherguard ice and water shield. (If installed correctly, an aluminum roof will out last a rubber roof) Option 2 is to coat the roof in a flexible metal roof coating. You may have to reaply every two years but it would last longer than just caulking. Option 3 is to look at using a product called Eternabond repair tape but if it is a large roof area it may not be cost effective at a 4"x50' roll for eighty dollars.