Hmmm, I had a problem like this but using connection managers. The client process would go away but still would show up in v$session. We just bounced the cman to clear everything up.

Are you using MTS or dedicated servers? If MTS, you could down one of the dispatchers, but that would also blow out anybody that has a valid connection.