decimal shouldn't cause a problem. Are you sure the file is the correct format?
Have you try batch size 1 and fail on first error to see what happens. Get rid of the data after the decimal point (and the decimal point).
I like to bcp into a view rather than a table so that I can add fields to the table (like identity or status or load date) without messing up the bcp.
I have never had to use a format file - but that's because I have always been able to control the source data. Playing around with them they look like a source of problems but will be necessary if you can't change the source.
DTS - only when needed and never to control.