On PowerShell 3.0 it looks like it is passing the parameters cleanly through. However, to simplify this you could put your SQL in a file foo.sql and then call logparser like so:
$logParser = "C:\Program Files (x86)\Log Parser 2.2\LogParser.exe"
& $logParser file:c:\foo.sql -i:CSV -o:SQL -server:MJNHNX4 -database:PerfmonCounters -driver:"SQL Server" -createTable:ON