Q: Which of the following sentences are correct? 
(A) Without correct mistakes, we could not improve.
  (B) Without having our mistakes corrected, we can not improve.

Also:

(C) Without had wings, birds could not fly.
  (D) Without wings, birds could not fly.


A: B and D are grammatically correct.  
A is grammatically correct, but correct mistakes sounds self-contradictory in the same way Noam Chomsky's famous sentence is:  "Colorless green ideas sleep furiously".  I can imagine a case where some mistake could be the "correct mistake" for some special situation, but usually "correct" and "mistake" don't go together logically.  
C is ungrammatical because had can't be used in that construction:  it's past tense, and the sentence is in the abstract present, for which having would work (but the construction in D would be more often heard).
