The moniker "Untiled" has always seemed slightly off, since the untiled layers actually do use a tile.
The functionality of the untiled layers is different, but really only slightly different, from that of the gridded layers.
So!
I have successfully merged the two functionalities together into the Grid.js layer.
Now, instead of instantiating OpenLayers.Layer.WMS.Untiled, you can just instantiate an OpenLayers.Layer.WMS, passing the option "singleTile: true".
The primary benefit of this is that we no longer have to maintain two distinct layers which follow the same WMS rules. The amount of copied code between the WMS/Grid and the WMS.Untiled layers was significant, and copied code is always a risk.
A secondary benefit that comes with this patch is that the events defined on layer (loadstart, loadend) are now implemented for both untiled and tiled layers (this used to be only available on the untiled layer). Tiles now have events as well (loadstart, loadend, reload), which are used by the Grid layer to fire its own events. In addition the grid layer has a "tileloaded" event which notifies that another tile has been loaded. This can be used in conjunction with the new numTilesLoading property on the grid layer to easily keep track of loading progress