Besides roundoff errors, there are still truncation errors, which is inevitable in any finite difference algorithm. You can make a MD simulation bit-reversible, but that does not mean there is no numerical noise.
Actually, I doubt that there is really no roundoff error. Bit-reversible does not even mean the roundoff error is zero.
Just think about this: One common computation in MD simulations is taking square roots. Square roots are generally irrational. I doubt there is any way to exactly represent square roots in computer (except symbolically, which is not feasible in MD). Therefore there are alway round-off errors.