why sql server return 0 for select ISDATE('13/01/2010')
===

i have a view where i have a column having date in varchar formet and in dd/MM/yyyy 
when i tried to use order by it gives error that 

Msg 241, Level 16, State 1, Line 2
Conversion failed when converting date and/or time from character string.

the query is 


   select * from test1.dbo.abcd order by CONVERT(date,ddate,103)

some dates on which it return 0 is 13/01/2010
18/12/2009
20/10/2009
21/06/2010
19/10/2009
18/11/2010
29/10/2009
29/10/2009
18/03/2010
15/03/2010
15/03/2010
15/03/2010
15/04/2010
15/04/2010
15/04/2010
15/04/2010
30/03/2010
14/05/2010
14/01/2010
23/10/2009
20/10/2009
27/10/2009
27/10/2009
20/07/2009
20/04/2010
13/08/2010
30/06/2011
23/07/2010
27/08/2010
24/09/2010

Can any one tell me why its returning 0 and how to sort it?