Your latest version of findgrub is looking good to me.
I think version 4.4 did already work for you because you have Grub2 in MBR. In this case, the core is embedded, and we can read the partition UUID of the next stage from the uncompressed core. See the grubcore test script in post #225.
The bug version 4.4.1 addresses (and I hope fixes, but @arvidjaar will tell us) affects situations where Grub2 1.99 or 2.00 (but not 1.98) is installed on a disk other than the first one but NOT in mbr. In this case, we don't have info about the partition in the boot sector (and the core is not embedded) but only a 1byte value which says if the next stage is on the same disk or on another one. If this value is 128 (0x80), the boot loader is looking for the next stage on the same disk and NOT on the first disk (I guess it was the bug here). If it is 129 (0x81), it will be hd1, etc ... (and then we have to look in device.map if available to find out which disk device that BIOS drive actually matches).
Example (with OpenSUSE /boot/grub2 in sda9):
Code:# grub2-install --force /dev/sdb12 /usr/sbin/grub2-bios-setup: warning: File system `ext2' doesn't support embedding. /usr/sbin/grub2-bios-setup: error: embedding is not possible, but this is required for cross-disk install.