Thanks for all the answers on this one. GSAK did work eventually but it took a little tweaking.
For anyone else who may have this problem, here's how to do it:
1. Download and install GSAK.
2. Open your GPX file, leaving all the options set to Default.
3. Go to File -> Export -> Delorme Topo USA, SA Plus, Etc. - Specify where to save the file, and what to call it.
4. The 'Symbols' section of the Export process was originally set to only include status icons (Found, Not Found, Archived, etc). When I exported the file with those settings Topo USA still saw all caches as traditionals. To fix this, hit the 'Change' button on the right.
5. Under 'Select Required Format and Icons Here' click the 'Cache Type Only' option.
6. Go through the list of cache types and make sure that the correct Icon is selected for each one (Traditional = Geocache, Mystery = Unknown Cache, CITO = Cache In Trash Out Event, etc.). For some reason all of mine were defaulted to down arrows symbols instead of the normal ones. Hit save when you're done.
7. Click the Generate button and GSAK will export the file for you.
8. Open Topo USA, select the Draw tab, and click 'File.'
9. Import the text file you created in GSAK. Once it loads, highlight the file name and select Copy To -> Waypoint.
10. Open the Exchange Dialogue and upload the caches to your GPSr.
It was a bit of a hassle to set up, but a workable option until Groundspeak or DeLorme finds a way to fix it.