If you don't think SMG can pull off the evil bitch role, you should watch Cruel Intentions. She can play heartless monster as well as she can a character like Buffy.
James Marsters has changed since the last season of Angel, believe me. He now looks his age quite thoroughly.
I'm not too keen on the idea of an original cast member playing Elizabeth, as Elizabeth was supposed to be around 50 when the series started, and all of the main female cast members are a bit too old to pull that off.