The bottom-line positive answer is "there's nothing to worry about". More specifically, though, a bit of background on digital technology will clarify how the question is somewhat misconceived.
Assume that you have a sampled speech file containing 1024 bytes, where (counting from zero) bytes 5 and 987 are 255. The question is, what is the duration in time between those bytes? The answer is, who knows? You have to first specify how many bytes there are in a sample, and what the sampling rate is. If each byte is a sample and the sampling rate is 8000 Hz, then successive bytes (samples) are .000125 seconds apart, and the distance in time between the pulses is .12275 seconds. If samples are 2 bytes (16 bit samples, more common), then samples are still .000125 seconds apart, the pulses are .061375 seconds apart.
The sampling rate defines a limit on time resolution. Although physical sound is continuous, digitized sound chops that continuity up into evenly-spaced values. If you think you have something happening at time 0.000625 sec. and something else happening at 0.001130 sec. representing a duration between events of 0.000505 sec., you have created an measurement artifact. In an 8K srate file, all samples occur at even multiples of .000125. The correct answer is 0.0005 sec (with the sampling rate telling you what the precision of the measurement is).
Praat allows you to position the cursor at arbitrary positions -- it does not say "Can't do that, the cursor has to be exactly on a sample boundary!". Whenever you position the cursor, you are always doing your best to line it up to where the actual sample / event "is", that is, at the screen position that corresponds to where a sample is plotted, given the existing degree of zooming in.
A simple visual technique for understanding the relationship between raw data and Praat displays is to create a plain text file with just a line containing "000..." i.e. just zeros, but with two other characters (e.g. 000Z00000Z00), separated by a known number of zeros. Open this as a "special" (Alaw) raw sound file, and you'll get a flat line with two blips. You can repeatedly try to select the portion between the centers of the blips, and can query the duration of the selection, and I predict that you'll get somewhat different durations nearly all of the time. It's not that Praat is in error, it's that there is a fixed time granularity determined by sampling rate, and a different granularity determined by screen resolution. Praat allows you to set the cursor in places that don't correspond to samples.
To add marginally to your concerns, I was talking only about reading the raw waveform. From the raw waveform, you can compute other functions, such as formant tracks, amplitude traces, pitch, and a spectrogram. Each of these is a "windowed" function, meaning that it take all of the data in a window of a certain size (number of samples of amount of time), and returns a value. That means if the analysis window is 0.001 seconds long, you can't get more time accuracy than 0.001.
A more significant problem for your particular application would be detecting the end and beginning of the speech samples, which can add hundreds of milliseconds of uncertainty to your reaction time computations (depending on the nature of the utterances and the recording setup), as opposed to a fraction of a millisecond owing to uncertainty in time computations from Praat.