In case anyone is trying to do the same thing, I've got this largely going now. The big piece I was missing is that the console is just using the logs, so as long as I log to the same DB the console is using (with JPAWorkingMemoryDbLogger) everything pretty much automagically works. I use either JBPMHelper.newStatefulKnowledgeSession(kbase) (if I start from my app) or JBPMHelper.loadStatefulKnowledgeSession(kbase, sessionId) if I want to use the knowledge session started from the Console. Also, I don't dispose of the session of course if I am borowing the Console's. I read somewhere that you can give the session a business id (and soon do the same from your own code so that they automatically use the same session), but currently I have a kludge that just assume the highest session is the one from the Console (if I want to borrow that one).
Hope that helps someone.