Quote: "is there a better version of darkGDK that has better collision detection with sprites?"
Quote: "dbSpriteHit
This command will return a one if the specified sprite has impacted against the target sprite specified. If a target sprite has not been specified and a value of zero has been used, this command will return the sprite number of any sprite impacting against it.
Syntax
int dbSpriteHit ( int iSprite, int iTarget ) "
Quote: "dbSpriteCollision
This command will return a one if the specified sprite is overlapping the target sprite specified. If a target sprite has not been specified and a value of zero has been used, this command will return the sprite number of any sprite overlapping it.
Syntax
int dbSpriteCollision ( int iSprite, int iTarget ) "
I have not done much with 2D but I suggest you just do a simple test program and use the above commands and see if they fit your needs. Whatever you have read about DirectX 2D collision detection is probably wrapped up nicely in the simple commands above, I'm not certain about that though.
EDIT: Just noticed your other thread, these commands are nor pixel perfect although the post above may be on to something