I've managed to achieve some great success in my little game with hot reloading in a similar way Casey does it in HMH.
However I'm not the "handmade everything" type of guy and my game requires 2d physics so I naturally leaned towards box2d.
Now the problem with box2d is that the source is not suited to be dynamically linked (they even state so in the FAQ). It uses a bunch of static variables internally (which do not work with hot reloading) which I was able to factor out into the state. Now the next problem is that it also uses virtual functions in a lot of places and refactoring those sounds like a bit too much. Virtual functions often break when hot-reloading (or rather pointers to them in the existing instances become obsolete).
Is there any recommended solution for solving this type of thing? Maybe some pointer-to-vtable patching?