It looks to me as though the MEGA and Uno have different USB PID ("Product Identifier"), but they all use the same driver so it doesn't matter. This would be controlled by the software loaded into the 16u2 usb/serial chip, rather than the bootloader on the m328. Are you sure that board was ever "seen" as an Uno?
Here's the relevant segment of the .inf file from 1.5.x:
%mega2560rev3.name%=DriverInstall, USB\VID_2341&PID_0042
%mega2560.name%=DriverInstall, USB\VID_2341&PID_0010
%megaADK.name%=DriverInstall, USB\VID_2341&PID_003F
%megaADKrev3.name%=DriverInstall, USB\VID_2341&PID_0044
%micro.bootloader.name%=DriverInstall, USB\VID_2341&PID_0037
%micro.sketch.name%=DriverInstall, USB\VID_2341&PID_8037&MI_00
%uno.name%=DriverInstall, USB\VID_2341&PID_0001
%unoR3.name%=DriverInstall, USB\VID_2341&PID_0043
Things were setup somewhat differently in prior versions of the IDE, I think. So they might have behaved differently...