Are you missing a where clause in your query?
Also, is PO_DATE NVARCHAR? IF so, I have no problem with code like this:
declare @strdate as nvarchar(20) = '04/11/2014'
select cast(@strdate as date)
Finally, SUBSTRING will fail in your query since it wants to work with strings (hence the name)