I am familiar with Jeff Atwood\'s article about how errors are always the programmer\'s fault, but I believe I have really and truly found a bug in a Delphi .pas file.
You can set: DataSetProvider.Option.poRetainServerOrder = True
DataSetProvider.Option.poRetainServerOrder = True