When SAS guessed what length to use for that variable it was not long enough for later values.
You need to tell SAS to check the whole file (or at least more of) by using the GUESSINGROWS= statement. Set it to MAX to have it read the whole file before deciding how to define the variables. You don't have to add the GETNAMES=YES or DATAROW=2 statements are those are the default values for those settings.
proc import
out= work.mydata replace
datafile = "location"
dbms=csv
;
guessingrows=max;
run;
If you want more control just write your own data step to read the file and you will have complete control over what names to use for the variables, their type and length. Whether or not to attach a FORMAT or a LABEL to the variable. Whether or not you need to use a special INFORMAT to read the values from the CSV file. ETC.
data mydata ;
infile "location" dsd truncover firstobs=2;
length var1 $20 var2 8 .... varlast $40 ;
format var2 date9.;
informat var2 date9.;
input var1 var2 ... varlast;
run;