Hi again,
I tried the solution as you suggested, but still no luck. I even tried setting the watchdog timer to generate an interrupt but still nothing.
I think I've found a solution to the problem however...
The I2C lines are pulled up to a different 3.3V supply, which activates before the RTC 3.3V supply (we'll call this 3.3V_I2C). It could be that the RTC is beginning to enter a pseudo-powered state before the 3.3V_I2C supply fully activates, and so is affecting the OSC clock somehow. I did a number of tests with editing my firmware to activate the LDO as quickly as physically possible, but still, no joy. Very strange that all other I2C devices work perfectly. Even more strange that it didn't matter where I setup the RTC module in my I2C state machine - INT never activated!
In the circuit, I'm powering the chip with an LDO that can supply a maximum current of 200mA (this is enough for this device and the rest on this I2C chain by quite a long way), but for some reason, when I connect a separate 3.3V supply (the supply driving the I2C pull-up resistors), the INT pin suddenly starts working with all the proposed solutions.
So TL:DR, if I connect the RTC module to the same 3.3V supply as is connected to the pull-ups, all is good. This does unfortunately mean I've lost the ability to power cycle the chip in case of SDA error, but I can do this in firmware instead (maybe that'll be a post for another day ).
At any rate, thanks for all your help and suggestions,
Roland