I'm becoming less convinced that this is a Ruby problem at all, but an Alfred / Mavericks problem.
If I run my Ruby script directly using the same path/command as Alfred it works fine. However, from Alfred it immediately fails silently as described earlier in this thread.
If I go one step further and modify the workflow itself, for instance flip it to try and run the Ruby script with Python, I see exactly the same behaviour, and still nothing in the logs.
It seems that Alfred is immediately failing the execution of the script and not logging anything to the Alfred-Workflow.log.