There's no really good answer to this one, and no answer at all that works for all stations. The problem is that XM doesn't send a clear "end of song/beginning of song" signal - they just send new artist/title/genre data at a time that is roughly at the track change (actually, just a hair early in most cases).
The best TimeTrax (and any similar system) can do is to detect the new data, then make an arbitrary decision as to when the song really does change. You can tweak the delay if you like, and you may actually be able to improve the success rate, but you will not be able to nail the song change every time.