Assign delay behavioural differences

In reply to ceesam:
A continuous assignment to a reg variable should have been illegal in Verilog, so I assume that everything is being run in SystemVerilog.
Again, can you elaborate? What should the value be, and when should it change. Can you provide a small self-contained example that shows the difference you are seeing?