Do you understand 'basic 3D theory' that is, the math behind affine transforms / matrix algebra, vectors, projection into 2d space, etc? If you don't know how these things work in a practical sense; then you'll have a real problem with DirectX or OpenGL. ( If you're working in 2d only; I guess there's less to learn, although vector math is still quite useful in 2d ). If you want to do complex physics, spacial AI, or anything like that... well, it's nice to have a visualization framework to help you see what you're doing.. strictly speaking you don't 'need' one, but it's nice, and it helps.
I found playing around with Java3D
http://java.sun.com/products/java-media/3D/ was quite helpful in getting my head around 3D concepts ( and it's good for visualizing/prototyping quickly ); the techniques involved aren't directly transferrable, since it tries to abstract most of the math into a scene-graph; which you don't get as-standard in DX or OGL,
but it's a forgiving way to start with the basics, and to do anything complicated with it, you
need to delve into the un-abstracted math side of things.
C# + XNA is also quite forgiving, it wraps much of DirectX's functionality, so you don't have to write so much code upfront.. you'd still need to have a decent idea of the 3D math basics though, to do anything beyond trivial. I don't mean by that, that you need to go study the theory / history behind the maths, learn the proofs, or generally understand WHY the maths works; but, knowing when and where to use each concept is invaluable.