I know its not the answer you are after but you should change your database to use the correct types for dates and alter your program accordingly.
But a work around would be as follows
BUT and its a big but this will fail if the date is of an incorrect format or value i.e.
05/01/1974 would convert
but
29/02/1974 would raise an error
select *
from Pur_Trans pt INNER JOIN dbo.Pur_Master pm on pm.InvoiceNo=pt.InvoiceNo
where CONVERT(DATETIME, pt.Expdate) between CONVERT(DATETIME, @Expdate) and CONVERT(DATETIME, @Expdate1)