GOOD NEWS!! It appears that Borland have already fixed the problem in Delphi 20005 Service Pack 2 which was released on March the 8th. I have just tested it and it works perfectly with the code I ported and posted earlier.

I hope this helps.