Try adding loop functionality to the sound engine
Turns out the sound engine problem was not specifically loop-related.
Use some loops