Well, I have made a change which hopefully solves this problem. First of all, let me explain how the GPX files work:
1. If you create a GPX file, you need to specify some things. One of them is the cache type.
2. The GPX file can be used in GPS units or in smartphones. Every GPSr has its own software which assigns some icon to every cache type. So different devices (or different software on one device) may show different icons for the same cache type. It is up to software developer.
3. Since Garmin runs opencaching, their devices support different icons for opencaching (opencaching gpx files are slightly different then geocaching files so the software developers may decide to use another icons for opencaching).
So there is no way to use special icon for GeoCheckpoints in Geocaching software. However, there is another solution. GeoCheckpoints are no longer displayed as traditional geocache, but as event cache. The event caches are very rare comparing with the traditionals (and probably most of you don't use them in the pocket queries), so this change makes possible to display GCPs in another way in Geocaching applications.
I hope this helps. I would love to hear your feedback when you try it!