Assuming you are using the WMSLayer class, you are likely running into a caching issue.
Essentially, your browser doesn't know the underlying image has changed, as the URL remains the same. This is why panning or zooming gives you the latest image; by changing the extent of your WMS GetMap request, the URL changes, and since it does not exist in your browser cache yet, a new image is downloaded from the service.
According to the WMSLayer documentation, the refresh() function only works if the disableClientCaching property of the service is set to true. Unfortunately the disableClientCaching property is not listed as a valid property of WMSLayer (it is listed under ArcGISDynamicMapServiceLayer, however), but I suspect it may still work.
Try the following:
wmsRadarLayer.disableClientCaching = true;
wmsRadarLayer.refresh();
If that doesn't work, try this:
wmsRadarLayer.setDisableClientCaching(true);
wmsRadarLayer.refresh();
If neither of those work, this option may not be supported for the WMSLayer class, and your only option (other than submitting an enhancement request) would likely be to create your own WMSLayer class whose getImageURL() function includes a random number (or perhaps the present epoch time) as an extra query parameter, such as "&nocache=1406055134". You can find an example of creating a custom WMS Layer here: Custom layer - WMS | ArcGIS API for JavaScript