This seems to be another case of a misunderstanding the master-slave design of the USB architecture. A device is a slave, and must do what the host (master) tells it to do when the host tells it to do it, even if it seems "unreasonable". Period.
In the particular case of suspensions, as Barry stated, a device can't tell if it's a global or selective suspend, and it doesn't matter. The device just needs to suspend, and then do whatever the host tells it to do next (probably, but not necessarily, resume).
You could issue a remote wakeup as Jan stated, but I think that would be a mistake. You say you want to respond to a global resume and not a selective resume, but you don't know which one is actually happening. If you send a remote wakeup and it's actually a global resume, you're going to resume the entire bus even though all you really wanted to do was resume yourself. Remote wakeup is not supposed to be used to keep a specific device from being suspended, it's really designed as a way for the user to tell the entire system it needs to wakeup (such as by pressing a key on a keyboard or mouse).