PROC IMPORT uses n GUESSINGROWS ( default 20, can be set to whatever ) from the DATAFILE to determine if the OUT dataset columns should be numeric or character. Many numeric account numbers ( e.g. credit cards ) are 16 digits in length which exceed the max value for an 8 byte numeric column of 9,007,199,254,740,992. As a result the large numbers are not imported accurately.
Since the DATEFILE is being parsed to GUESSINGROWS depth in any case, the max value could be known from the rows examined. If the max value is > 9,007,199,254,740,992 PROC IMPORT could set the data type in the column to character to ensure all digits are retained.