I've followed this back some more, and LinuxBIOSv1 definitely doesn't do any delays between CBR reads, or after setting MRS, except for moving values between addresses. v1 also does something entirely different for the memory reads. And if it worked for LBv1, it should work for v2...
I worked on your patch a bit to see if I could get it working, and also tried to do v1's calculation for the MRS value. Here's what I got:
RAM Enable 4: Mode register set
Sending RAM command 0x0060 to 0xdeadbeaf
I think I might have screwed up my math :D
BTW, thanks for this patch!
-Corey