Using Arduino as DAQ? (Help with sampling)

Please don't cross post.

last sample is 236uS (4237Hz), but I get a sampling rate of 4166.66Hz....?

From the reference page for micros():
" this function has a resolution of four microseconds (i.e. the value returned is always a multiple of four). "

1 / 4166 = 240µS. Which looks to be 4µS off of your 236µS value....