@MrValentine
I started using DarkGDK a long time ago and got quite comfortable with it and it took me some time before I made the leap over to PureGDK.
The speed comparisons to me are very obvious, PureGDK wins over DarkGDK by far. I found that out when I first started out with about beta (9 I think). Even Dark Basic is faster than DarkGDK.
Depending on which you choose:
DarkGDK: Comes with easy setup templates for MSVC++ 2008 to get you started. Err, that's about it really.
PureGDK: A tad fiddly to setup, you have to set your include paths. I compile all the cpp files into a library and just include the headers.
You get the flexibility of whichever compiler you want to use. Good choices are Code::Blocks or Visual Studio Express (both free).
Unlike DarkGDK, you can compile the plugins that come with Dark Basic Pro into the dll so that you can use Matrix1 Utils, Sparkys, D3DFunc, etc, etc and now from what I hear, you can add on to these your own.
With both you can add external libraries available on the net, but I've found that the restrictions are lifted more when using PureGDK as you're right in the Windows environment. With DarkGDK you start in the middle of it's engine.
Since when I started with PureGDK the documentation that comes with it has improved dramatically and it shows how to setup a simple project to get you started easily. However, the documentation might include how to build and use libraries in a future release to make compilation much quicker.
Go on, make the leap feet first and try PureGDK. You won't be disappointed. If you tried DarkGDK first you will notice the engine is much slower than Dark Basics as I've already mentioned.
EDIT: You can use something like this too:
int my_new_obj = dbCreateObjectSphere( my_size );
And it returns the object ID for you without assigning one... Ain't that cool?
Mental arithmetic? Me? (That's for computers) I can't subtract a fart from a plate of beans!
Warning! May contain Nuts!