I used your data step and data sample.  I think your problem is that the variable on the input statement don't match the fields in the file.  I removed one of the variables vfwdatabse that appeared to be missing from the data records.
[pre]
data WORK.Source ;
   %let _EFIERR_ = 0; /* set the ERROR detection macro variable */
   infile cards /*'C:\VFW\ResponseFile.csv'*/ delimiter = ',' MISSOVER DSD /*lrecl=32767*/ firstobs=2 ;
*informat VFWDatabase $10. ;
informat NameID 11. ;
informat ProjectNumber $4. ;
informat DepositDate ymddttm.;
informat ReceiptDate ymddttm.;
informat DonationAmount comma10.;
*format VFWDatabase $10. ;
format NameID 11. ;
format ProjectNumber $4. ;
format DepositDate datetime.;
format ReceiptDate datetime.;
format DonationAmount DOLLAR11.2 ;
input
/*VFWDatabase $*/
NameID 
ProjectNumber $
DepositDate 
ReceiptDate 
DonationAmount 
;
if _ERROR_ then call symputx('_EFIERR_',1); /* set ERROR detection macro variable */
cards;
"ID","Project","DepositDate","ReceiptDate","Amount"
202711036,"9999",2009-03-03 00:00:00,2009-02-27 00:00:00,20
203393517,"9999",2009-03-03 00:00:00,2009-02-27 00:00:00,10
203847278,"9999",2009-03-03 00:00:00,2009-02-27 00:00:00,25
200344370,"1638",2009-03-03 00:00:00,2009-02-27 00:00:00,10
;;;;
   run; 
proc contents fmtlen varnum;
   run;
proc print;
   run;
[/pre]