Birthdates are different from other dates because people are often used to typing their specific birthdate.
A text box with an example is clear, quick and easy to enter:
_______
|_______| (example: 31/3/1970)
This should support flexible formatting such as 1/1/1970 or 20/07/70.
If you have to support different cultures with different date conventions (e.g. US and UK) then this could be error-prone for people who don't heed the example. To avoid this you could use a
select list for month, and text boxes for date and year.
_________ __ ____
|March |V| |__| |____|
This removes ambiguity between day and month ordering, but is a little clunkier to use.