Interesting since the WmsLayer's GetUrl-method takes height and width as a integers and the values are added to the query string from integers
public override void GetUrl(ESRI.ArcGIS.Client.Geometry.Envelope extent, int width, int height,
   DynamicMapServiceLayer.OnUrlComplete onComplete)
  {
   int extentWKID = (extent.SpatialReference != null) ? extent.SpatialReference.WKID : 0;
   string baseUrl = MapUrl ?? Url;
   StringBuilder mapURL = new StringBuilder(baseUrl);
   if (!baseUrl.Contains("?"))
    mapURL.Append("?");
   else if (!baseUrl.EndsWith("&"))
    mapURL.Append("&");
   mapURL.Append("SERVICE=WMS&REQUEST=GetMap");
   mapURL.AppendFormat("&WIDTH={0}", width);
   mapURL.AppendFormat("&HEIGHT={0}", height);
<Snip>
Did I miss something here?