The literature you site is not the SMPTE spec, then...
The difference really is 1000/1001, and it is for 29.97 as well (which is actually 29.97002997002997(repeats)...). It
does increase the frame
period by exactly 0.1%, because
period is the inverse of
rate, so the ratio is 1001/1000 for period, but the frame
rate ratio is 1000/1001, which 99.9000999000999(repeats)% by the specification (and actual electrical behaviour, for analogue) for NTSC video, which truly has a rate of 30 * 1000 / 1001.
The SMPTE spec is not online, of course, but you can find this in various articles online (like <
http://www.philrees.co.uk/articles/timecode.htm>) and it is glossed over in other articles (like the Wikipedia entry for NTSC, which states that the rate is "approximately" 29.97).
This also actually makes it much easier for audio, BTW, since at the true NTSC rate, audio has
exactly 1601.6 samples per frame (note that samples/frame is the frame
period in samples), or, more to the point, 8008 samples per 5 frames, repeating as the pattern {1602, 1601, 1602, 1601, 1602}, which you may hear referred to as the "SMPTE cadence". Whereas if it truly were exactly 29.97 fps, then audio would run at 1601.601601601601(repeats) samples per frame, which (for all practical purposes, given the 24-hour limit of timecode) "never" resolves to a useful number...
Of course the error creep due to this subtle difference is gradual, and for video is largely inconsequential, since you would not be off by a full frame until after 1,000,000 frames, which is about 9 hours... But for sub-frame accuracy (which is more a concern for audio), you will be off by 1 sample after 1,000,000 samples, which (at 48kHz) is just 20 seconds, and off by about a tenth of a frame after "just" an hour...
While most video-related apps (such as FCP, Avid, and I think Premiere) deal with this correctly, a surprising number of DAWs (even the ones purporting to be used by audio-for-video folks) do not. DP used to do this calculation incorrectly (even as late as 5.13, IIRC), but nowadays (since maybe 6.0) they do the math correctly. You can verify this by setting the frame rate in DP to 29.97
non-drop (makes the calculations of TC to frame count easier...), and then set the TC to exactly 300,000 frames (i.e. 02:46:40:00 in
non-drop TC, since the timecode rate (not frame rate!) of non-drop is 30fps). Set DP's other counter to samples, and you'll see 480480000. That is precisely right, whereas if the frame rate were truly (exactly) 29.97, then the sample count would be 480480480(.480(repeats)). So DP is (correctly) using the true NTSC frame rate of (30 * 1000 / 1001), rather than the approximate NTSC rate of 29.97. Another test is to set the _non_-drop TC in DP to 00:00:20:25 (625 frames), and note that the sample count is 1001000; again, if the frame rate were truly 29.97, that would show 1001001 (i.e. 625 frames / 29.97 fps * 48000 samples / second = 1001001.001001(repeats)).
Hope this helps clarify...