It doesn't for a good reason, but it isn't convenient like this. I am aware of it and it is likely to change in a future update.
The easiest way around this is to create a new sprite using the sprite collection from the prefab - create a GameObject, and use tk2dSprite.AddComponent(...) to add a sprite to the gameObject. If you really need the prefab, destroy the attached collider before switching. I think that should sort it out. The reason it isn't doing this automatically is that this is a very costly process in terms of CPU usage, so its best not to do it that often.