Need a free Windows tool to insert arbitrary network delay at transport level

I don't know about a tool, but conceptually, you have to do one of two things.

  1. Route all traffic though a proxy (hosted locally) that will hold onto it for a certain time stretch and then send it on.
  2. Change the driver somehow so that it delays the traffic.

I would definitely go for option 1.