well rather than using between try something like below
select std.reg_no,std.stud_name,bat.batch_name,convert(varchar,col.amt_received_date,103) as amt_received,
col.receipt_no,col.fee_amt,adm.username
from tbl_collections col join tbl_admin adm
on adm.id=col.id join tbl_student std on col.sid=std.sid join
tbl_batches bat on std.bid=bat.bid where adm.username=@username AND amt_received_date >= @fromdate and amt_received_date <= @todate