Hi Brian;
The change of event firing actually happened in your case with PB 12.0 by Sybase. There was also a small tweak in v12.5.2 as well by SAP.
The key to remember is that throughout PB's history at various times, event firing order changed due to new PB features or when PB was realigned to newer MS-Window versions. That leaves me with one key message for you ... never trust the Constructor or Open events when referencing other related objects or trust in the order of the initial events when instantiation is being performed.
The best remedy that I have used in PowerScript coding since PB 1.0 is to always use either a PostContructor and/or PostOpen event for object class initialization. Never use the OTHER event (unless you really know what you are doing) - that goes for System Mapped events as well. Where critical operations are being performed on an object and you wish your PowerScript to participate ... try POSTing a user event after the fact. These approaches have allowed by PB App's to standup to the test of time - or should I say PB & O/S versions. This strategy has also come in handy when transposing PB Apps into either a PowerServer Web or Mobile App as well.
HTH
Regards ... Chris