Synchronize end of sample with new cycle

I think you could do this with loopAt and # speed "-1", as loopAt will align the sample start/end with the cycle boundaries. However, this will also likely change the pitch of the sample depending on the tempo.

I can't really think of another way without using nudging the timing as you suggested.