FYI: The maximum "open files" limit on Mac OS is 256. You can find this by opening Terminal and typing:
ulimit -n
Whenever you have a program that has an autosave, as well as an unlimited amount of undos, the computer has to keep every version of the file open to that you can return to it when you hit cmd-z. There actually isn't such a thing as "undo". It's a figure of speech. What's really happening is, the program reverts to the most recent "save". Therefore, any action you do in FCPX that is able to be undone creates a new open file. Once that limit reaches 256, you will not be able to save anymore. Sounds like most people are losing about 3 hours at the low end. I would assume, then, that it takes the average FCPX user about 3 hours (maybe less) to execute 256 undoable actions.
There are two things that can be done to alleviate this problem. The first is to find out where FCPX stores these temporary files. I don't have FCPX, so I can't tell you exactly where, but I would assume it's somewhere in:
private/var/
If you find either the folder where the open files are in, trash them. Or, if those files are stored in a .db file, trash that. The issue here is that you will lose ALL ability to undo from that point backwards. It's essentially the same as quitting and opening the project again. Which is your second option.
Option 2: quit FCPX every hour or so. If you're a heavy editor, quit more often. It may seem like a hassle, but it's a lot less of a hassle than losing work.
It used to be that having File Sharing activated lessened your open file limit, but I don't know if that's still the case. At one time Mac OS had something like 12800 files that could be open. But I just turned off file sharing and still got the same 256 file limit.
Anyway, the point is, you can't have any more than 256 files in your undo stack. Either find where the stack is stored, or quit and restart regularly.
Hope this helps someone.
p.s. if you recall, the reason you never hit this wall in previous versions is becasue undo was limited to 99 at most, set in User Preferences.