How is 29.97 timecode generated over a full day without frame errors?
As per the Broadcast Engineer's Reference Book, p. 203


  This correction will match DF time to real time to within
  approximately 2.6 frames per day; to eliminate the residual error the
  timecode generator can be reset each midnight.


So, apparently nothing.

As far as the "extra" frames, Charles Poynton says,


  If a timecode sequence is to be maintained longer than 24 hours,
  timecode should be jammed daily to reference clock time at an
  innocuous moment. No standard recommends when this should take place;
  however, the usual technique is to insert duplicate timecode numbers
  00:00:00;00 and 00:00:00;01. Editing equipment treats the duplicate
  codes as a timecode interruption.