Ah ha, it has finally been found. Yeah, I knew it was a thing but both forgot and ran out of time to fix it. The training attempt variable is tied to the room instead of the save data, so it gets reset on loading in.
Thanks for giving it a go! Hope you had fun.