Honestly - after 3 weeks I pretty much don't remember much about it. 

But basically the situation is that the token hooks aren't called when viewing a public civimail because no one is logged in. However, some of them are still relevant because they are not person specific - so we want to give the hooks the change to at least set these - so we are calling them against a contact id of 0 rather than not calling them.

It does seem wrong looking at it now - but this is completely 'cold' for me - I really can't remember .