"HHVM just closes that gap entirely"
This is wholly false, HHVM is still a long way behind the level of JIT optimisation that both the JVM and the CLR perform, in part because PHP was never designed with the intention of being JIT'd from the outset making it much harder to JIT well in the first place. The amount of language inconsistency, edge cases where it contradicts itself and general design whereby things have been bolted on unplanned and ad-hoc all but guarantees you'll never write a JIT compiler for PHP that can be as effective as the CLR and JVM. The only way you'll get PHP to the point it's a serious competitor for .NET, Java, and C++ is if you create a version of the language that completely breaks free from it's past, tightens up the rules and changes the way things work- it can't even be backwards compatible, put simply, it wont even really be PHP anymore. IIRC someone started a project to do exactly this, maybe it'll bear fruit, though I'd question if it's even necessary when the JVM and now CLR are open source.
"These are web apps not 3d games, io is your limiting factor in almost all instances, even if you're cracking md5 passwords in php you're still going to be using a rainbow table and hence io bound."
Even if you are IO bound this still highlights the problem with PHP thinking- the idea that you can only do one thing at a time, it's nonsense. In .NET, in Java, even in node.js and of course in C++ with IOCP (which node uses on Windows anyway) you don't just sit and wait for IO completion, you process other things. If you're genuinely working in a high end environment the CPU will be kept busy regardless of what IO waits are occuring. The fact that these technologies can get much more done whilst waiting is still wholly relevant. If you think all processing should be done in serial then you really don't understand the way high end server processing is done. If you're only using the CPU 10% of the time and waiting for IO the other 90% of the time you're doing it very wrong.
"The language itself being poorly designed generally boils down to preference, that php is a fractal of bad design site whines about the syntax of the array push operators and how when people put == they really mean ===, these aren't legitimate complaints, i've seen real world bugs in other languages where people put = instead of == or := instead of =, typos and inexperienced developers happen, get over it."
It's got nothing to do with preference. Inconsistencies, additional verbosity and so forth inherently increase the risk of mistakes no matter how good you are (or think you are). Much of it is a result of the fact that many of PHP's key features were bolted on after the fact (like OO for example). It's absurd to suggest that a language that has had things bolted on that it was never designed for from the outset is no worse than a language that was properly planned and thought through from the outset. You cannot increase the complexity of a language without adding anything beneficial in the process and expect it to be just as good for writing software as something more streamlined and better designed from the outset, this is objective fact - more room for mistakes is more room for mistakes and the quality of programmer is irrelevant as the perfect programmer is a myth.
I've always said you can get things done with PHP, I have, I've delivered a large multi year project with it - it's faults aren't crippling. But there's a cost- more development time, or more bugs. Dollar for dollar, pound for pound, you'll get more for you money if you use one of PHP's competitors rather than PHP whether that's faster development time, lower defect rates, better performance, better maintainability, or a combination of these factors - the fact you admit you have your own framework highlights this sort of issue that you face with PHP, you've had to spend time building something that is unnecessary in something like .NET where the framework is extremely well designed and built from the outset.
If you've already invested in it there's probably not much point switching, I wouldn't dispute that, but if there's an opportunity to start again, or to migrate away, right now I'd take it as I see no compelling reason to stick with it. Yes you absolutely can do what you need to do with it, but if you've got the choice you can do more for less with various alternatives.