One method is to use an event module. Follow the docs to create the plugin, then look for the 'q_hide' event in the process_event function. Something along the lines of
process_event($event, $userid, $handle, $cookieid, $params)
{
if ($event === 'q_hide' && $userid === null) {
qa_post_set_hidden($params['postid'], false)
}
}
It's a bit of a hack though since the post gets hidden, then you reshow it right away. I have thought about adding a permissions option for users closing their own questions, so might add it for hiding in the future as well.