OBDIIC&C firmware should be OBDIIC&C CRZ +JOY +BAR 150321 V1 (going on my last downloaded firmware). I'll have to double check on the device for sure.
I do have a HDS and I took it out with me today, ready to grab a snapshot if the IMA light came on. As it happens it never did, but it did allow me to workout that the OBDIIC&C does seem to be the issue. My battery temps were just above 30C, no IMA light, and, possibly the most useful bit of info, the IMA fan was not running at this temp. I did notice the IMA fan was running at about 1500rpm when the battery temps rose to around 35C.
I think you have hit the nail on the head with your theory and I was thinking similar on the drive back. The MCM is expecting the fan to be at 0 rpm at 30C, but it is in fact running, so it's teddy out the pram, light on, fan flat out.
I noticed this week when I tried to test the fan speeds via the OBDIIC&C that it doesn't work as expected, and I was sure that when I was first playing around with it last year that it did work as expected. I couldn't get it to run the fan at low speed. Medium and fast were only about a 100-200rpm difference IIRC, up near 4000rpm.