Don't use update, that runs every frame.
Use sprite.SpriteChanged += ChangeSprite instead
This is a callback that gets triggered when the sprite changes, so you don't need to keep polling.
Check tk2dSpriteAttachPoint.cs for an example where its used.
In theory, the event handler doesn't even need to be in a mono behaviour if you want to optimise that far - you can simply have a static function to handle this, the only thing you need to do is hook this up properly, and remove it when the sprite is destroyed.