What I've seen done with jbpm 3 (which jBPM 4 resembles), is that a webservice was built over the jBPM engine api. You can use the jBPM engine api to figure out what the status is of different process instances (your suggestsion touch on some of them).
If you need help with the engine API, let me know. I'm pretty sure I know which methods you could use.
Marco