I have never considered loopOut() to be tempermental. You just have to feed it what it wants! For a loop that repeates, I usually have three keyframes. Beginning, end, and beginning again. And I also usually specify what kind of loopOut it is. cycle vs. continue
Whenever you apply loopOut() to the time remapping property of a nested comp the frame at the last keyframe will always be blank.
To fix this, simply goto the last keyframe, hit page-up to move the CTI one frame earlier in the comp, add a new keyframe for time remapping and then delete the lat keyframe — note, you cannot simply nudge the last keyframe up one frame.