I have finished a second version of my mouth replacement animation script.
Here is an example animation file which shows the effect:
The grey cube you see at the left hand side is the dummy object which controls which mouth shape to display.
If the z loc of the cube is between 0 and 1, then the first mouth is used:
between 1 and 2, then 2nd mouth, and so on.
Here is an example blend file:
And the python script is here!