nime5ter figured out that it was having trouble dealing with accented characters in either your command name or phrases. The str() function is not able to cope with them.
Using the unicode() function instead seems to solve the problem, at least in my simple tests.
Try this python code:
from System.Collections.Generic import *
def osdEvent(osdInfo):
strText = unicode(osdInfo.speechText)
strCommandName = unicode(osdInfo.commandName)
strGroup = unicode(osdInfo.groupName)
strConfidence= str(osdInfo.confidence)
strPass = str(osdInfo.confidencePassed)
strDoingCommand=str(osdInfo.doingCommand)
vc.triggerEvent("VC.Reco", List[str]([strText, strCommandName, strGroup, strConfidence, strPass, strDoingCommand]))
vc.OnOSD -= osdEvent
vc.OnOSD += osdEvent