While Proc Import can be very useful it does have limitations when the data isn't especially well formed. For example many types of ID fields such as product 'numbers' or ZIP codes may have mostly values that may be interpretted as numerics but have exceptions. The program will look at a number of lines to try to guess whether a variable should be string or numeric but may not look far enough if you have large data sets.
I would recommend running proc import and then looking at the generated code in the log. If any of the variables are numeric, informat is $xx., then copy the code out of the log into the editor and change the informat, format and input statements for that variable.