Could you just do this?
If ProjectObj.GamePlayer.PlayerSprite.rDef.Name = ProjectObj.GamePlayer.rMap.PlayerSpriteName Then ...
There is no easy way to put it at index 0. If you want to remove the player sprite, just look through the list to find which one is the player sprite:
Dim Idx
Dim PlayerSpr
Set PlayerSpr = ProjectObj.GamePlayer.PlayerSprite
For Idx = 0 To PlayerSpr.rDef.rLayer.SpriteCount - 1
If PlayerSpr.rDef.rLayer.Sprite(Idx) Is PlayerSpr Then Exit For
Next
PlayerSpr.rDef.rLayer.RemoveSprite(Idx)
But if you just want to switch sprites, the easiest thing would be to create a special function that is of type Switch To Sprite, and call that from script