What step am I missing?
What's different between my test site and yours?
Well, I've been testing using my Paypal account as it's quicker, but it's just the same problem.

Basically, I run through exactly as you did. If I have an account with my site, the payment goes through fine. If not, it acts just as though I'd chosen cheque/money order and nothing is taken through Paypal.

I am wracking my brains for ideas on how to diagnose it. Given that the Paypal payment isn't working, it suggests that something is wrong at that end, perhaps. However, I don't know how the communications between my cart and Paypal work - it might be that Paypal is still waiting for something from the site before going through with the payment. Any ideas on what code to examine or any other diagnostic methods would be really useful.

As for how this cart is different, it really is just superficial stuff. I've changed the CSS and switched most of the tables to divs. I've been through and edited some wording as well as shifting some of the buttons/columns about. I've not touched anything functional, nor installed any massive mods.