Ok, I got a little weird here. I separated the "UpdateMyCollisions" from the collision check because while it made things easier, it assumed too much. I also added this hacky way to force updates on rectangles per collision check. Basically, if it's set to a flag value of Rect( 12, 34, 56, 78 ), it's told not to trust the value, and to instead find the real current rectangle. I'd love a more elegant way to do this, but this works for now.