I called TPI and they reccommended drilling 2" holes every square foot. They also think that the most likely culprit is the exhaust pipe.
I started drilling the holes this weekend, beginning in the bow. I used a drill to cut through the inner fiberglass shell, then dug out the balsa core using a screwdriver. The inner side of the balsa was essentially dry, but the outer side showed significant moisture, especially in the holes I cut lower in the hull. Fortunately, so far, I haven't seen any evidence of rot. However, it looks like I'll need to pull out the water and fuel tanks to do the job right.