you could also do this:
var refresh = new OpenLayers.Strategy.Refresh({force: true, active: true});
and then as a strategy on the WMS layer :
strategies: [new OpenLayers.Strategy.Fixed(), refresh],
then call this where and when needed:
refresh.refresh();
edit:
If you want to test, try this from your init() (onload property content) or in a document.ready block:
/* Now reload the vector data every 20 seconds */
setInterval(function () {
refresh.refresh();
},20000);
It has to show the async requests in the firebug console and under the tab too, if not your not calling it for some reason.