When switching to the REFRAST nothing was displayed. This was simply because there was nothing to render. My code handled the lost device scenario just fine, but I'd overlooked the complete changing of a device. That is, going from HAL->REF was a destroyed and recreated device. Destroying the device released all the resources, but creating the device didn't load the scene (again). Thus moving the LoadSceneFromXML() statement from application initialization to OnCreateDevice() solved that.
So at this point, I have an (ATI) hardware rendering that looks as I want it to, but switching to REF makes it look the same as the Nvidia output. Score 1 for Nvidia - they're the ones who're behaving correctly [oh]