Here's a quick application I've evolved that downloads track data from an GARMIN Etrex GPS receiver. Data is saved to c:\temp\gps.gps. The .gps file can be subsequently re-loaded and viewed. The .gps data contains time and lat. long. information.
A comma separated file suitable for MapPoint can be created.
Uncheck OSGB1936 if you want the results to appear accurate! A Helmert transformation is applied when checked to generate accurate (within 5 metres) OSGB references. However MapPoint doesn't know about this transform - so I've added the check box to suppress the transform.
Because MapPoint isn't happy importing one metre resolution in TL square, I've added the option to use Lat Long. Using Lat Long also removes the Helmert transformation problem described above: the transformation is only relevant to OSGB grid references.
CSV records are skipped if the gps time interval from the previous sample is less than 10 seconds elapsed time. Data is saved to c:\temp\mappoint.csv
See my problem page with MapPoint 2002