The problem is solved. As somebody surmised, hd2 was not referring to sda but to hdb - in contradiction to the mapping defined in "device.map". The resolution is that executing GRUB takes reference into BIOS defined order of hard disk boot sequence (and names hd0 .. hdx according to that). It seemingly ignores ANY definitions in device.map!
In an interesting side note, Ubuntu installation rendered the *false* naming of "hd2,4" in my first installation. It rendered the same naming (hd2,4) also in my last installation (which was the third), but meanwhile I had changed the HDD ordering tin BIOS to match that naming in GRUB parlance.
First of all, I must hold on to my assumption that "guessworking" has a lot to do with the actual practice encountered here.
Second, I conclude the following:
A) GRUB has a severe problem. It seemingly does not respect user settings which were performed according to GRUB's own definitions. Moreover I have seen wild fantasy disk naming in GRUB-produced device.map settings. BUGS!
B) Ubuntu also has a problem. The disk order it assumes for GRUB names is not necessarily identical with what GRUB finds out during startup execution. This may (or may not) have to do with disk partitioning performed during installation and changing boot disk order in the BIOS, for what ever reason.
Both problems I value serious and they should be solved asap. Thanks to the people here asking indefatigable, penetrative questions!