replacing crystal with TCXO

Yes, do a burst read like the datasheet suggests and like the Maxim example code does.

You don't have to do it for other multi-byte transfers. Since the address auto-increments with each read or write a burst is both convenient and more efficient. But it's your choice.

When writing to the time registers you still have a potential issue of a rollover while in between writing the different bytes. This is dealt with by the fact that writing to the seconds register resets the internal sub-seconds counter to zero. Then you have a whole second to write the other time/date registers before any rollover is possible. So if you just write the seconds register first you'll be fine. I think you are currently doing that.

I wish Maxim had exposed that sub-seconds counter instead of just the seconds. It's one of the reasons I chose not to use the DS3234.