Icarus does not produce a warning if a negative delay is used. But the larger issue I encountered was some kind of lockup. I did not create a simple example, but here is the code triggering the issue:
git clone git://github.com/jeras/sigrok-dump.git
git checkout 6c67d17bdb
The negative delay is in onewire/verilog/onewire_master.sv (line 72), but the lockup issue is only triggered if the sampler is also active onewire/verilog/onewire_tb.sv (line 54).