So, I was sitting here trying to figure out why my IK Constraints aren't working on this particular spine rig. (Still confused there - as far as I can tell, it should be working).
However, while doing so, I was stepping meticulously through the code and noticed this:
public virtual void Update (float deltaTime) {
   if (!valid)
      return;
   deltaTime *= timeScale;
   skeleton.Update(deltaTime);
   state.Update(deltaTime);
   state.Apply(skeleton);
   if (_UpdateLocal != null)
      _UpdateLocal(this);
   skeleton.UpdateWorldTransform();
   if (_UpdateWorld != null) {
      _UpdateWorld(this);
      skeleton.UpdateWorldTransform();
   }
   if (_UpdateComplete != null) {
      _UpdateComplete(this);
   }
}
Specifically, this section:
if (_UpdateWorld != null) {
   _UpdateWorld(this);
   skeleton.UpdateWorldTransform();
}
Hey, that's pretty cool, make sure you have a delegate before you call it, then update the skeleton again.
 
However, what I found a layer beneath that... not quite as cool:
It jumps over when it calls _UpdateWorld over to SkeletonUtility.cs.  All good so far, this is what I would expect. What's inside there?
void UpdateWorld (ISkeletonAnimation anim) {
   UpdateAllBones();
   foreach (SkeletonUtilityConstraint c in utilityConstraints)
      c.DoUpdate();
}
Whoa! It Updates all bones? Why?  ... Oh wait, it only updates the data for the bones inside of Unity's SkeletonUtility. Seems OK. No problems there.
It gets down to utilityConstraints... 0.   Huh, that's a little strange, as I'm pretty sure I have at least a few utility constraints on my rig - but no big deal, there's probably something on my end, right?
 
Finally, it returns back into the Spine code, where I discover it calls:
/// <summary>Updates the world transform for each bone and applies constraints.</summary>
public void UpdateWorldTransform () {
   var updateCache = this.updateCache;
   for (int i = 0, n = updateCache.Count; i < n; i++)
      updateCache.Items[i].Update();
}
It's calling this function again? No big deal, it didn't update anything, since it was all data reads... oh wait, what?  There's 130 items in this list?  Oh, wow, it never cleared out the cache from the last time it ran. It's running this block of code again on every bone in the rig:
/// <summary>Computes the world transform using the parent bone and the specified local transform.</summary>
public void UpdateWorldTransform (float x, float y, float rotation, float scaleX, float scaleY, float shearX, float shearY) {
   appliedRotation = rotation;
   float rotationY = rotation + 90 + shearY;
   float la = MathUtils.CosDeg(rotation + shearX) * scaleX, lb = MathUtils.CosDeg(rotationY) * scaleY;
   float lc = MathUtils.SinDeg(rotation + shearX) * scaleX, ld = MathUtils.SinDeg(rotationY) * scaleY;
   Bone parent = this.parent;
   if (parent == null) { // Root bone.
      Skeleton skeleton = this.skeleton;
      if (skeleton.flipX) {
         x = -x;
         la = -la;
         lb = -lb;
      }
      if (skeleton.flipY != yDown) {
         y = -y;
         lc = -lc;
         ld = -ld;
      }
      a = la;
      b = lb;
      c = lc;
      d = ld;
      worldX = x;
      worldY = y;
      worldSignX = Math.Sign(scaleX);
      worldSignY = Math.Sign(scaleY);
      return;
   }
   float pa = parent.a, pb = parent.b, pc = parent.c, pd = parent.d;
   worldX = pa * x + pb * y + parent.worldX;
   worldY = pc * x + pd * y + parent.worldY;
   worldSignX = parent.worldSignX * Math.Sign(scaleX);
   worldSignY = parent.worldSignY * Math.Sign(scaleY);
   if (data.inheritRotation && data.inheritScale) {
      a = pa * la + pb * lc;
      b = pa * lb + pb * ld;
      c = pc * la + pd * lc;
      d = pc * lb + pd * ld;
   } else {
      if (data.inheritRotation) { // No scale inheritance.
         pa = 1;
         pb = 0;
         pc = 0;
         pd = 1;
         do {
            float cos = MathUtils.CosDeg(parent.appliedRotation), sin = MathUtils.SinDeg(parent.appliedRotation);
            float temp = pa * cos + pb * sin;
            pb = pb * cos - pa * sin;
            pa = temp;
            temp = pc * cos + pd * sin;
            pd = pd * cos - pc * sin;
            pc = temp;
        if (!parent.data.inheritRotation) break;
        parent = parent.parent;
     } while (parent != null);
     a = pa * la + pb * lc;
     b = pa * lb + pb * ld;
     c = pc * la + pd * lc;
     d = pc * lb + pd * ld;
  } else if (data.inheritScale) { // No rotation inheritance.
     pa = 1;
     pb = 0;
     pc = 0;
     pd = 1;
     do {
        float cos = MathUtils.CosDeg(parent.appliedRotation), sin = MathUtils.SinDeg(parent.appliedRotation);
        float psx = parent.scaleX, psy = parent.scaleY;
        float za = cos * psx, zb = sin * psy, zc = sin * psx, zd = cos * psy;
        float temp = pa * za + pb * zc;
        pb = pb * zd - pa * zb;
        pa = temp;
        temp = pc * za + pd * zc;
        pd = pd * zd - pc * zb;
        pc = temp;
        if (psx >= 0) sin = -sin;
        temp = pa * cos + pb * sin;
        pb = pb * cos - pa * sin;
        pa = temp;
        temp = pc * cos + pd * sin;
        pd = pd * cos - pc * sin;
        pc = temp;
        if (!parent.data.inheritScale) break;
        parent = parent.parent;
     } while (parent != null);
     a = pa * la + pb * lc;
     b = pa * lb + pb * ld;
     c = pc * la + pd * lc;
     d = pc * lb + pd * ld;
  } else {
     a = la;
     b = lb;
     c = lc;
     d = ld;
  }
  if (skeleton.flipX) {
     a = -a;
     b = -b;
  }
  if (skeleton.flipY != yDown) {
     c = -c;
     d = -d;
  }
   }
}
Is that OK? This is where my knowledge sputters out. I can't tell if calling that twice is a big deal or not. Maybe it isn't, then its wasted to try to optimize it.
 
On the downside, I confirmed the Mix for my IK point was indeed set to 100%... but the bones remained stuck in their bind pose.  :envy:  :angry:
 
Cheers,
Alex