This bug is quite difficult to explain. I've only tested it on libgdx runtime.
On the editor:
1.- Create a bone and a slot with 2 attachment very different in size (Example: a closed mouth and an open wide mouth).
2.- Create an animation that starts with the "closed mouth" and resizes the bone in some time to match the "open wide mouth" size.
3.- When the size is matched, add a key frame that swiches the attachment from "closed mouth" to "open wide mouth".
4.- To correct the size problems you'll see if you intend to transition from one to another, add two key frames to the bone which switches the size of the bone back to the original one using an stepped curve.
Editor results: You'll see an animation where a closed mouth kinda morphs into an open mouth with a soft transition.
Runtime results: You'll see the same animation, but the stepped curves doesn't seem to trigger, therefore you will see how the "open wide mouth" suddenly changes very quickly from being really big to being the normal size.
Maybe is not that the stepped curves does not trigger but that the two key frames that are supposedly triggered at the same time trigger in sequence (the attachment changes first and then the size).
I've attached an image that shows how the key frames are set on the time bar.
Ok, solved-ish:
In order for this problem not to happen you should call AnimatinState.apply before Skeleton.updateWorldtransform.
If you change the order in those you will see little bugs that happen when you have to sync up a lot of stuff.