ASIO Sample Rate Selection Oddities

The order in which you call functions when opening an ASIO device is very fragile - when I first wrote this code years ago I remember there were devices that would crash if you didn't ask for their buffer size, etc in the correct order. So I can certainly believe that there may be devices that aren't well-behaved, but not sure what I can suggest as a change, since I can't actually test this myself, and it's largely a case of trial-and-error in finding fixes like this..