i think, to make it work, you should retrieve new object from the list and perform the operation there.
something like
var item = properties.List.GetItemByID(properties.ListItemId);
item.File.MoveTo(Url + "/" + item.File.Name);
SPItemEventProperties
doesn't like when you're messing with his internal elements (dispose, move, delete etc.)