I had this same problem today, and somehow I found a solution.
The reason for this to happen is that iBooks has copied your epub file to the library, but it failed to keep a log for some mysterious reason.
The solution is quite simple actually.
1.Step 1: Figure out how many books of your books has been logged.
Go to ~/Library/Containers/com.apple.BKAgentService/Data/Documents/iBooks/Books, this is where all the files are stored, then open Books.plist in this directory with Xcode, you'll see that there's a certain number of "Books" element, this is the number we're looking for.
If you don't have Xcode, then it's gonna be a little bit tricky, because this file can't be normally viewed in TextEdit, it's a binary file.
Just run this super long command in Terminal:
cp ~/Library/Containers/com.apple.BKAgentService/Data/Documents/iBooks/Books/Books.plist ~;plutil -convert xml1 ~/Books.plist;grep -o 'BKDisplayName' ~/Books.plist|wc -l;rm ~/Books.plist
It'll tell you how many books iBooks has keeped in log, too.
2.Step 2: Find the epub files that disappear after restarting iBooks.
Simple, just use preview to find them all.
3.Step 3: Copy them to another directory and delete them in this directory.
3.Step 4: Open iBooks and add them again, either drag them in or Shift-Command-O is ok.
4.Step 5: Rerun the command or check the plist file in Xcode, and see if the number has increased by the number of your newly added books.
If so, then problem solved, else, you should redo step 2~4 until it's right.