So I gave up on using the Raster|Misc|Merge... command in QGIS because it always crashes. I tried using the merge tool from the GDAL/OGR Processing Toolbox instead. That runs OK, but it puts a gap in the mosaic where one of the input rasters contains no data values - looks like the no data values are over-writing the valid values from the other raster. Is there any way around this problem?
I assume that if you execute gdal_merge from a Windows command prompt then there are switches you can use to fine-tune the result which aren't available when you run it from inside QGIS. I tried that, but gdal_merge won't run this way on my machine, so I guess there's something wrong with the way this stuff is implemented in a Window QGIS installation. What to do?