Yes, it's not quite right for what you want, for both the reason you've specified, and because MIDI files are created asynchronously. Basically, there is an small but indeterminate amount of time between you stopping recording and the file appearing in the MIDI pool. Which is fine for most cases, but when you're looping, you want it there immediately.
I'll add a proper looper macro (or module, undecided on how best to approach this) that does exactly what you want.