Okay, so clearing my flash player cache fixed the puppy training problem. I have no idea what caused it, but it's fixed now, so that's good, I guess?
Okay so that actually didn't work. It looks like setting a slave as a puppygirl in debug mode unlocks puppy training for the next slave. Not sure if it's permanently available afterwards or just for the next slave. I realize this isn't a common bug, but I'm hoping this helps others who might have it.
You know what, forget it. sometimes it works, sometimes it doesn't. I do think it's related to the flash debugger and the code not working well together, but I have no idea what causes it or how to fix it.