Hello Luke,
Welcome to the forum! I'll try to answer your questions and provide information where I can!
In addition if the I2C did suddenly lose connection mid way through sending data what would the 328P processor do? does it simply hang waiting for the ACK and the STOP command or does it just take whatever data it has received and assume the rest is value 0 and ends communication?
"Acknowledge bit is a ninth bit of every byte sent. The receiver always has to confirm successful receive with ACK by pulling SDA low or in case receiver cannot accept data it will leave SDA high (NACK), so master could stop transmitting and do another scenario if needed."
This page some more information that picks apart the bits in each I2C signal.
Some things can definitely go wrong when using I2C, but these issues usually only occur when you are using a lot of different devices with different addresses - since I2C uses mainly two wires for communication, things could get a little hectic in a scenario with 20 I2C devices and trying to pull data from each device as quickly as possible.
That being said, while it is possible, it is unlikely you will have any issues. It sounds like you are using only one I2C device (the RTC). And while there is a small chance some signals could be lost - the RTC will continue to send and be read correctly for the time originally set. So while a signal could be lost, correct signals will continuously be sent - which should effectively correct any issues along the way.
All in all, I wouldn't worry too much! To put your mind at ease, I would recommend doing some tests with the hardware you have. You could set a time in respect to a trustworthy clock - like your phone - and then leave it over night or for a few days to see if there is any difference in the time.
I hope that helps!
Best,
Laveréna