VAST has worked this way pretty much for as long as I remember. If this was a change in behavior at some point, it dates back to the early 90's. I started using VAST in '92 or '93, and I don't remember it being any different (granted, that was a very long time ago). Personally, I like the fact that it works this way and do not consider it to be a bug. if the system persisted arbitrary user-create windows, I think it would become much more fragile and prone to crashing on startup.
EtWindowSystemStartUp is only responsible for re-opening EtWindows, and there is quite a lot of code specific to EtWindows which persists their state and restores them. Other apps like AbtBaseWindowSystemStartUp take responsibility for re-opening other windows (like AbtApplicationsOrganizerView). All the hooks are there to allow any app to persist its own windows, if it wants to.
So, in my opinion, the recommended way to handle this for your own windows is to either save and restore them same way that EtWindowSystemStartUp handles its windows or simply subclass EtWindow and use the EtWindowSystemStartUp persistence framework as-is. That is what we did with all of the VA Assist enhanced browsers back in 1998.