First thanks for your detailed analysis. I have looked into this problem some time ago as well and I found a website, which documents this behaviour here: http://www.delphi-forum.de/viewtopic.php?p=290872&sid=90dd5488f7ea8262bc... (German, sorry)
The parameters passed for these delphi exceptions are different and they are only to be handled by the delphi exception handler, which is triggered after the first chance exception and should display a message box or something and terminate the program.
Your suggestion to "hack" this into reactos seems reasonable, and I wouldn't consider this a hack, but rather a feature.
The best way to handle this is before it get's forwarded to the kernel debugger, so probably in KiDipatchException. It just has to make sure that the user mode exception handler receives the original parameters.
Regards, Timo