@Tricky
When do these things happen?
Example of OS use: Various structures are allocated and passed to library/device. Other processes use the structures when they call the library functions. This is common practice in most libraries/devices. Chip memory is less likely to be used like this, but it can happen if some chip memory buffers are needed.
Do they go through the OS to do it?
Some do, some don't. There is no way to patch these since you have no way of knowing where and when these things are used.
The point of this thing is to allow one to run games after running lot of applications. So it would need to work with those nasty apps I'm afraid.
OwnBlit()
This onle works for OS friendly apps. You can't OwnBlit() if you have disabled or are in the middle of interrupt (OwnBlit() uses a semaphore locking).
it's only of aesthetic, rather than functional, consequence. (Might make unexpected noises but it isn't going to crash).
Actually it migth crash or at least stop the application from continuing if it uses audio interrupts (when swapping it back).
That's a bit naughty isn't it? "Proper" applications wouldn't do this.
Nothing naughty about it. It's common practice to take over the system in OS fiendly way and then display your own hardware screen. Example:
hwstartup.asm