Gah it's driving me crazy... somehow spaces or something are being inserted in the query string, thats whats causing the screwups but I don't understand where it's coming from.
IE a normal one word search will end up having a + behind it... hard to explain.
If I remove the hack it's totally fine...
I got so frustrated that I totally reinstalled a clean copy of vBulletin 2.3.0 and reperformed the hack - same results.