@Dengar Okay thanks, but I may have found the bug. When the z_index is set the first time a sprite is loaded, the z_index never gets updated on different animations that also use that sprite even though it may have a different z_index. So a temporary fix (or permanent?) is to comment out the section in AnimationBuilder.cs where you check if z has changed. After doing that the z order works fine, but I'm guessing this will probably have some sort of cost to performance?
if (mref != null)
{
if (defaultZ == inf)
{
defaultZ = mref.z_index;
positionChanged = true;
}
//if (!changedZ && mref.z_index != defaultZ)
//{
// changedZ = true;
// if (key.time > 0) kfsZ.Add (new Keyframe (0f, defaultZ, inf, inf));
//}
//if(changedZ)
//{
kfsZ.Add(new Keyframe(key.time, mref.z_index, inf, inf));
//}