this is a good warning! i really like getting factors back from read.table() so i will probably be a little more positive about it but it is definitely alarming if you aren't expecting it.

though one thing about read.table() that really grinds my gears is that there isn't a way to change the type of the column in a way that depends on the column heading; you have to give it an index :( you don't know a sane workaround for that do you?