Considering how long humans have been keeping chickens, the collective knowledge about egg eating is surprisingly inconclusive. Most of the information that I've read on the net or in books has suggested either culling the chickens or filling an egg with mustard to put them off. The second option was looking better than the first, but still not ideal, then I came across this forum thread, which had some very insightful suggestions.
The theory proposed on this thread is that hens only eat their eggs if the egg shells are weak. Apparently the hens peck the egg after its laid to check the shell. If the shell is too weak for the egg to be viable (ie to hatch a chick) then the shell will break when its pecked and the hen will eat the egg to clean up the mess. I've never seen this happen myself, but some of the posters on that thread claim to have seen it happen. Even if hens aren't clucky, it may just be one of those natural reflexes.
The main solution then was to strengthen the egg shells. We had noticed that the egg shells were a little thin, but hadn't really thought about it. We usually feed cuttlefish bone to the hens (picked up a the beach for free), and this seems to be a good source of calcium. I hadn't given any out for a while because they weren't being eaten, I didn't want to waste them! After reading that forum I put cuttlefish bone in both cages. By the next day all the cuttlefish was gone and I had three eggs. I put more cuttlefish bone out and had five eggs the next day. Now I'm not saying that the theory is proven conclusively, but that's good enough for me to say you should try feeding extra calcium (shell grit or dolomite if you don't have cuttlefish) before you cull any hens or muck around with mustard eggs!
Isn't it interesting that this behaviour (probably) comes down to a mineral deficiency.
Have you had a problem with hens eating eggs? Does this help?