Hmmm, that wasn't as helpful as I hoped it would be, basically it gives you the same error as the popup.
Alright, one more thing. Run Dxdiag.exe, and post (or send me) the results. I need to look at your video card stats. I don't really see why the vertex buffer creation should be failing. That is the very first thing D3D allocated in video memory, so you can't possibly be out of video memory. We know the device was successfully created, then the program does this:
Do you think your card might be returning something crazy for MaxPrimitiveCount? Maybe I ought to put a cap on that value instead of just letting it go crazy with MaxPrimitiveCount/4
MaxNumVertices = D3DCaps.MaxPrimitiveCount/4;
//create a 2d and 3d vertex buffer for general use
r = D3DDevice->CreateVertexBuffer(MaxNumVertices*sizeof(GENERIC2DVERTEX),
D3DUSAGE_WRITEONLY | D3DUSAGE_DYNAMIC, D3DFVF_GENERIC2DVERTEX, D3DPOOL_DEFAULT, &TwoDVertexBuffer, NULL);