The problem I see is that the ModalPanel didn't gets reloaded after the first time it is closed.
But I did put "reRender" to make it redraw itself. Why it is not working?
Probably because the rerender isn't triggered ... try something like:
(using the modalpanel from the demo with some dynamic component)
I should probably mention I haven't tried it, but in theory that should work.
It's better to reRender the fields inside mp instead of full wilndow reRendering.