In developer's world -
there is no such a procedure as rename.
Underneath, in machine's code it is going on like that:
1. Delete old
2. Put new on the same place.
When you use Replace Function, developed under some Script language - it does the same underground. You have only result of replacement as Function return. If you are developing (on any language) Replace Function - you have to do the same line by line in your own code.
So, you can try: Delete "Action1" sheet and put new sheet with .AddSheet method.
It is just from the top of my head. May be there is another way to do this through QTP's manipulation. But I use this way.
As for replacement for .AddSheet method -
I'm sure, there none.