I can confirm that this works in 3.6.4; you can update the range of available languages by grabbing the latest version of "geshi.php" and the "geshi" directory from the developer's site --
http://qbnz.com/highlighter/
I fixed the square bracket issue (which also happens with percentage symbols) by adding the following line to the parse_code function in geshi.php (just before "// Initialise various stuff"):
PHP Code:
$code = str_replace(array('[', ']', '%'), array('[', ']', '%'), $code);
(Can't get the entitities to show up unparsed - the first array of replacements should be numeric entities 91, 93 and 37)