> I like the BOOST_FOREACH better, especially as it can be changed to the
new for constucts when we introduce C++11 support. Going to int-based
instead of iterator-based iteration seems a step back instead of forward.

Sure, where possible I also prefer iterator based approaches. But in order
to use block.GetTxHash(int) we need to know the index of the transaction
we're accessing.