I'm all for avoiding late night calls.
I've seen problems before with the unix process hanging out there, with the Oracle process in a KILLED status in v$session. If you've been doing this for them, and haven't had any problems - then it's probably fine.
I would put someway in the procedure to limit what sessions can be killed, you need someway for the operator to identify the session. You wouldn't want them getting the wrong session...
"False data can act only as a distraction. Therefore. I shall refuse to perceive you." - Bomb #20