Thanks for all the help, I have a quick rundown on what wasn't the problem
first...

>> machine. Try to adjust the time on your machine so that these two times be
>> equal.

I'm starting a -vvv run right now. I'd be *VERY* surprised if the times are
different. The two boxes are on a LAN on the same hub. I run xntpd to sync
the clocks. I just checked and the clocks were maybe a few milliseconds
apart...

> Another possibility is that you have apache configured to do server
> side include parsing for all files - in which case it won't return

Sorry. I like keeping my SSI files as *.shtml.

<time passing>...</time passing>

Aha! So the -vvv run helped a lot! I'm running Apache/1.3b5 and it's
returning HTTP/1.1 packets to htdig. Now I don't know where the bug is, but
adding a line to my Apache conf:

BrowserMatch "htdig/3.0.8b2" force-response-1.0

and the If-Modified-Since stuff works correctly, I can see it in the debug
output! Now that I have a workaround I'm happy. But all this should do is
force Apache to send HTTP/1.0 packets. As far as I know htdig doesn't care
what version of HTTP it gets, so is the bug with Apache?