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?