I've coded a VB.Net application that loads multiple grammar objects on startup.

When a flash drive is connected I've coded it to unload one of the grammar objects, recreate it (as it would need to change) and then load it into the recognition engine using LoadGrammar().

My problem is that the execution completes without an error (and the grammar file IS loaded into SpeechRecognitionEngien.Gramamars) but when I speak any of the phrases in the modified grammar it does not recognize it.

This is my code:
Code:
Main.UnloadGrammar(Gr)

CreateGrammar()

Main.LoadGrammar(Gr)
Any ideas?