Unfortunetely <SHOWHAL> is an asynchonous call. It does not wait for Hal's window to finish loading before it runs the next command. And <MICON> requires Hal's window to be completely loaded in order to actually turn the microphone on. Giving the command <SHOWHAL><MICON> at the same time will not turn on the mic since Hal's window doesn't have enough time to load before it tries to turn the mic on.
One solution that I can think of would be to run <SHOWHAL> at startup and <MICON> at some point in the future like maybe in the minute timer. Another possibility worth looking into may be <RESPOND>Turn on the Mic</RESPOND> and you would have to program the Hal Brain to turn on the mic when it receives that command. In theory, the <RESPOND> command will load Hal's window, wait for it to load, and then give that query for Hal to respond to, at which point a <MICON> command could be given to turn the mic on.
Also, command line options for Hal don't need a HalCommands= or anything like that. Just straight HalCommand tags should work fine.