I completely disagree with steps 4, 6 and 8. There is no reason to restart the db when switching undo tablespaces.

If the old one doesn't free up (drop), just give it some time. Don't panic. You may need to wait for it to age out the data (undo_retention seconds).

Step 7 - I thought 9i deleted the os file too? humm...