Finally fixed this one! On Windows Media Player 11, running on Vista on Dell hardware the sound-card (with a SigmaTel device) would ruin the end of every song, but sync the song to a mobile device or use a different media player (VLC for example) and the songs play the bit near the end fine.
The problem is the device and its interaction with Windows Media Player. For the device you need to disable the playback enhancements.
This is done from Control Panel > Sounds. Right-click the Speakers/Headphones entry and choose Properties. On the Enhancements tab select Disable all enhancements. I did not need to reboot or even restart Media Player as I have read reported.