Investigating the Sourceforge CVS tree, I have found the offending commit to be 1.135:
date: 2010/01/20 12:40:53; author: robertl; state: Exp; lines: +4 -1
When writing routes, set class to map type instead of user so that duplicate waypoints aren't created.
$ cvs diff -r 1.134 -r 1.135 garmin.c
Index: garmin.c
===================================================================
RCS file: /cvsroot/gpsbabel/gpsbabel/garmin.c,v
retrieving revision 1.134
retrieving revision 1.135
diff -r1.134 -r1.135
772c772
< way->wpt_class = 0;
---
> way->wpt_class = 0; // user waypoint by default.
968a969,971
> // map class so unit doesn't duplicate routepoints as a waypoint.
> rte->wpt_class = 0x80;
>
Investigating the Sourceforge CVS tree, I have found the offending commit to be 1.135:
date: 2010/01/20 12:40:53; author: robertl; state: Exp; lines: +4 -1
When writing routes, set class to map type instead of user so that duplicate waypoints aren't created.
$ cvs diff -r 1.134 -r 1.135 garmin.c ======= ======= ======= ======= ======= ======= ======= ======= ==== gpsbabel/ gpsbabel/ garmin. c,v
Index: garmin.c
=======
RCS file: /cvsroot/
retrieving revision 1.134
retrieving revision 1.135
diff -r1.134 -r1.135
772c772
< way->wpt_class = 0;
---
> way->wpt_class = 0; // user waypoint by default.
968a969,971
> // map class so unit doesn't duplicate routepoints as a waypoint.
> rte->wpt_class = 0x80;
>
Reverting this change fixes the problem.