I just checked the BOM example I made on two different machines. One is Win7 x64 and the other is Win2k3 SP2 x86. Both are returning the rows in the same order. However, it doesn't look like Array.Reverse() is required anymore as the BOM is returned in the correct order now. I am not sure when that changed, but it looks like it has. When I originally made that example, the BOM rows were returned in the reverse order of what is shown in the Explorer BOM tab. Now, it's correct. I looked in the knowledgebase for something about it but I didn't find anything. Odd.
Anyway, are you and your client running the same service pack?
I am running EPDM 9.2 and i think that the customer is running the same but may have an updated to a new service pack. Thanks for reply now i know that i am not the only one going throug this.