The way the eproject minor mode is defined causes a problem with Emacs' desktop library.
When reloading a saved desktop, 'desktop-create-buffer' is called for each buffer that is to be recreated. Desktop remembers the name of each active minor mode from when the desktop was saved, and if that name is fbound, desktop-create-buffer calls that function in order to activate the minor mode for the buffer.
Unfortunately 'eproject-mode' is defined to raise an error when called in a new buffer (where eproject-root is null). This error brings desktop loading to a crashing halt.
Is there a good reason that eproject-mode cannot just call eproject-maybe-turn-on itself, when eproject-root is null?
EDIT: looking into it further, you should be able to fix this easily by adding eproject-mode to the variable 'desktop-minor-mode-table'.
This report makes sense, but I can't reproduce it. If I have an Emacs session with some eproject buffers open, desktop-save, restart emacs (or not, doesn't matter), and desktop-read, the eproject buffers come back in a good state. Some more detail including the desktop save file would be helpful in determining what's different between our setups.