Hugh,
I know this is an old post but would just like to give a solution so other people know how to solve this issue.
The reason that you cant see the entities that have been thawed is because you are trying to regen the drawing before the transaction is complete. Here is what the end of your code should look like;
Finally
tr.Commit()
tr.Dispose()
ed.Regen() 'regen autocad
End Try
End Sub
all should be good now when you thaw or freeze a layer. 🙂