My recent overheating problems on tha D16 were resolved with two things:
1. Deck the head. Although, in the end I am not sure I needed to do this, piece of mind was working here.
2. Change the radiator. The original one in the car was crudded up. The was probably my problem.

If you are adding water that often you probably should get the head decked. 2 hours without cooling is a long way to go....you my find both the head and the block are out of spec to be machined.