That was just a back-of-a-fag-packet, as-I-type guess. I'm in the process of breaking things open to have a look now and already I've spotted one reason why I've lost some rows. There's still more work to do though.
How to post a question to get the most help http://www.sqlservercentral.com/articles/Best+Practices/61537