Yes, I noticed that the LOC file is a collection of <waypoint>.
Could you try to edit your LOC file before loading into your Garmin and see if it recognize them. I did the test and it worked n mine (after a few attempts).
Mine will recognize "multi-cache", "virtual", "mystery" or "puzzle", "letterboxhybrid", some others I forgot.
I just took a LOC file, all with "geocache" and replaced a bunch with the above, then loaded. Of course, when the type was truely invalid, it would show the cache as unknown.
BTW, anybody knows the list of "type" or a place that explain the syntax of LOC files?
Pierre