I guess a bit of this is on both sides of the fence. Although SONAR can handshake with interfaces, it is up to the interface to accept it (when locked) and respond appropriately. SONAR has no ability to "force" the interface to do anything it is not designed for (purge buffers, etc.). In the case of ASIO, the handshake comes from the interface, but similar, and again what is happening inside the interface is mostly its territory.
In my case, Focusrite recommends disengaging (i.e. closing any application using it) when adjusting buffers; but I do this quite often with SONAR open and a project loaded. SONAR's audio engine will drop out occasionally when doing so, but has been a simple "turn the audio engine back on" scenario. I think that SONAR is intercepting the "disengaging" part by doing so when required, but saves me any forced close/reopen of SONAR by doing so.