1) Main differences are in the language "around" what the API provides. Languages are normally a matter of taste, but really in this case the languages where you can use the GDK (C++) or GDK.Net (C#, VB.Net etc) are a lot better than DBPro's basic. A good basic is not such a bad language - quite fast to develop actually - when supported by a good debugger and enough data "structurisation". Unfortunately dbpro's debugger is abysmal and as for its UDT (structures) they are very limitted.
2) The GDK has no such "formal" learbing aids but I assume the meat of those books, that deals with the API functionality, are directly applicable to the GDK;
3) In theory yes, in practice No. The GDK is still behind the DBPro on stability (although I think Mike is doing his best to remedy that). Also, the majority of plugins that exist for DBPro don't yet work with the GDK so you don't have as much "off the shelf" expansions available to kickstart a project.
I have vague plans for World Domination