What might be interesting to you as well is if you want to see the radio text information, you can use
if ((this.Si4703_Registers[RDSB] >> 11) == 4 || (this.Si4703_Registers[RDSB] >> 11) == 5) { int Ch = (this.Si4703_Registers[RDSC] & 0xFF00) >> 8; int Cl = (this.Si4703_Registers[RDSC] & 0x00FF); int Dh = (this.Si4703_Registers[RDSD] & 0xFF00) >> 8; int Dl = (this.Si4703_Registers[RDSD] & 0x00FF);
... and convert to ascii, and then the rest of the code goes here, with minor modifications
That's an interesting question about the two boards from one Netduino. I don't know enough about the I2C protocol right now to answer that unfortunately. If you've got two FM boards (even if the first one is only partially working) you might be able to try it, but I guess you might have to revisit the original code and try to eliminate static variables. I don't know how two devices with the same device identifier on the same I2C pins would work - I'd guess it would conflict, because the netduino can't determine which device to talk to at any one time? But it's just a guess.
Cheers,
Jeremy