I was able to break the publish layout pretty easily, so it should be a relatively simple fix. I will outline my steps so you can duplicate the bug.
1. Go to the publish entry screen in any channel with any channel fields
2. In you browser, open a new window or tab and go to Admin > Channel Management > Channel Fields
3. In the channel fields page select your field group of the same channel open in the previous window/tab.
4. Delete any field
5. Go back to the other tab and continue to rearrange the layout and save it.
6. When you refresh there will be PHP errors.
My guess, is in when the script runs to save each layout, it needs to do an additional check to make sure that the field hasn’t been deleted. I am running v2.4, so if this scenario has been fixed in v2.5 just close this thread. If this is still a bug I can make a post in the bug tracker.