One more that I have found:
If I use Basecamp to remove the first few track points in a track (while I was fussing around the car before starting my bike ride) then Basecamp will change the name to something other than the new start time in the gpx file. Garmin Connect will then not accept the file.