To repay you for the help you've given me so far, here're two bugs I've discovered in the Spine C# Unity runtime along with the temporary workarounds I've put in place.
A few lines into ReadAnimation(...) in SkeletonJson.cs, the dictionary parameter is queried for the item under the key "bones". I've found that this is only valid as long as the animation includes at least one bone transformation. With the advent of our first full-frame-only animation, this was not the case and the JSON failed to load. I've gotten it to work anyway by simply adding a test for the absence of the "bones" key to skip over to the "slots" loading below.
When changing the animation of a skeleton component on-the-fly, I've found that bones are left with whatever attachment they had before the change occurred. This means that any bones that had an attachment sequence in the previous animation but that don't in the new one will be left with an incorrect attachment. Rather than dig into the code, I've come up with a crude workaround. At the point in Update() in SkeletonComponent.cs where any change to the animation name is detected and responded to (under the "Keep AnimationState in sync" comment), I've added a call to Initialize() before the call to SetAnimation(...) in the Animation State.
I hope this helps, and wasn't too obscure!