How are you representing the numbers? Are you including the effects of A/D conversion? A 16-bit converter has a nominal dynamic range of 96 dB, so going beyond that requires considerable care in the signal processing.
Getting any hardware system to work over a dynamic range of 100 dB or more is not a simple or straightforward process. For a full scale signal of 10 V, 0.1 mV is -100 dB. So every amplifier, filter, and digitizer in hardware must have noise and offsets below 100 uV while handling 10 V signals over the entire input bandwidth. After digitizing any quantization noise, overflow, underflow, and data representation size must not reduce the dynamic range. Non-linearites in both hardware and software must be carefully characterized and managed to assure signal integrity.
Timing resolution can also introduce errors in digitized representations of lock-ins.
Did your simulation do all of these things rigorously?
Lynn