Paul Cornell is really a brilliant and creative writer. This feels like a bit of a sophomore slump to me, but it's still head and shoulders above many of the books we've read so far.
This book does have some wonderful characters. We meet Benny, and I love how she stands up to the Doctor and defends Ace. We meet Maire and Christopher and the other Travellers. We meet Jan and Roisa and Cornell shows that he's familiar with the concept of polyamory, although he seems to think it can't work well.
One of the things I liked about this novel was the way the setting itself seemed to become a character. Actually, I liked the way two settings became characters: Heaven and Puterland. Cornell does a good job of making VR seem so much more alive than Real Life, and I mean that both in the sense of vibrancy and in the sense of Heaven being a zombie planet.
Of all of the characters, I liked Maire the best. She was responsible, intelligent, strong, and honestly if she hadn't been so devoted to the Travellers she would have made an excellent Companion herself. (In fact, if I hadn't known what would happen with Benny I would have been rooting for her to be the one to walk onto the TARDIS.) Christopher was remote and yet somehow still likeable.
All that said... I don't know what Ace saw in Jan. He's not the kind of character we've seen her falling for, at least recently. And you know, I get the whole "wild child" thing and Ace is not going to settle for someone quiet and gentle, probably. But if we assume she does like this type, then some of the pairings in previous books appear even more unlikely.
On the gripping hand, the way Jan and so many of the others went out was terrifying. Snakes? No problem. Daleks? It's over fast, at least. Cybermen? Chilling. Space-traveling fungus that drink blood and incorporate victims into a group mind and use their bodies as zombies? AAAHHH!!
And after everything that's happened, Ace leaving the Doctor was believable. I could completely understand why she would do so in that moment. Less credible was, given what she had just seen, Benny's hopping onboard. But then, no one is perfect, and that includes Paul Cornell.