I saw it when it first came out too, and I'd read the book a year or so beforehand. I enjoyed the film, but enjoyed it much more watching it the other night.
I think Leonardo was fine for the part. The only trouble was, he'd just made Titanic and The (crappy) Three Musketeers and was being hailed as the next white hope, so a lot of hype went with the role.
Unusually for me, I preferred the film to the book. I found Alex Garland's prose a bit hard to get interested in. It seemed to hint at more than it delivered. Tilda Swinton was also excellent casting.