We produced a usable but still not complete Delphi 2006 grammar once at the bank internally based on a Delphi 7 grammar (not the one from the documentation).
I will see if I am allowed to have it back - if it still exists - and publish that.
Its main drawback is that it doesn't parse some legal but exotic constructs like ^M escaping and has trouble with advanced records.
Btw there is also codewrench, parses more language features but I didn't check the quality. Can't feed it with grammars though. It is based on the old mwPasParser, just like Castalia.
https://sourceforge.net/projects/codewrench/Castalia is 99%+ correct in code recognition up to D2009, but again, you can't feed it a grammar.
I use the castalia stuff a lot, specifically since it is the only opensource one that can parse KOL and is very fast.
I think Graeme suggests a good approach, though:
Because of the complexity it is better to focus on separate grammars for the different modes.
[edit]
Another grammar that looks promising:
http://www.davidghoyle.co.uk/WordPress/?page_id=1389