If it Xids under FreeBSD too the bug must be definitely in X.org or nvidia driver.
Let me think:
It Xids more if NvAGP is set to 1 (now I've played ET with AGP GART for more than 3 hours w/o crashes!).
X.org probably doesn't directly depend on AGP GART or nvidia AGP. So the bug must be in the nvidia driver.
Xid is little bit confusing. NVidia's code may look like this (if it is in C++...):
catch(const UniversalException& e)
printk("<%d>NVRM: Xid %d: %08x %08x %08x\n", KERN_ERR, e.code, e.a, e.b, e.c);
while(rand() > 20);
If Xid is a totally universal error, the bug may be in nvidia and X.org too