As far as I know, everything you posted is correct. Maybe your module is generating some error and you can't see it because of the OutputBuffer function in my Hack.
I've found out that if you are using ShortUrls 0.2 and you activate PHP debug *or* a module spits an error during execution, you may get a blank page, this is caused by the Gzhandler directive at the first call to ob_start()
Just to be sure, edit Xoops_shorturls.php and comment out the first line, the one that says:
ob_start("ob_gzhandler");
Try it and let me know if you see an error.