I've also been writing my own Mac/IP stack code for the ENC28j60, and I agree.. the errata is quite a list of things gone wrong..
Did you check out the errata for the new enc424/624j600 chips? The datasheet boasts "Hardware AES encryption core"
Read the errata. "Encryption core not working" -> "At room temperature it works, but outside it doesn't. Workaround: use software AES, Microchip AES libraries provided" - argh!
Anyway, what exact problems are you having? Also, what chip revision?
Nice project by the way. As I see you're having lots of parallel busses, you could make use of the parallel feature on the newer ENC624j600 chips though. It's 100Mbit instead of 10Mbit, and it can be addressed basically like a SRAM chip of 32kB size (24kB data buffer). Maybe that way you can copy data from SRAM to the ethernet packet buffer with the CLPD/FPGA and possibly have the CPU handle the TCP/IP stack story (with some protocol in between to command data copying).
Although, that doesn't hugely complicated and maybe a Phy chip for the LPC1768 is an option too if you want to get rid of the ENC28j60.
The problem is hard to describe, at some point the chip may simply stop receiving packets (which I'm looking into now, it's probably the interrupt flag), or transmitted/received packets may start getting all sorts of random error statuses - and the MAC address may reset back to zeroes.
I'm still trying to figure out what exactly is happening, but it's a difficult thing to debug; sometimes it can work for a long time! Maybe due to changes in room temperature

Right now I've noticed that I have overlooked this errata entry (my REVID is 0x06, so B7)
The Receive Packet Pending Interrupt Flag
(EIR.PKTIF) does not reliably/accurately report
the status of pending packets.
I've fixed this, but having seen different types of failure, I don't have high hopes of this fixing everything..
The reason why I'm having such a hard time with this, is of course the fact that I haven't actually started from ground up. I've started by using someone else's driver (probably for another revision), and trying to figure out things as I go. I've read code snippets more than the actual datasheet.
For this project, I want to eventually look at another PHY chip, but the enc28j60 is still a very interesting chip, because I could use it for all sorts of projects involving smaller microcontrollers.