The problem looks to be here within descr_geography.txt.

Code:
 
 table
 { ;   QUAL_NONE QUAL_VERY_LOW QUAL_LOW  QUAL_NORMAL  QUAL_HIGH  QUAL_VERY_HIGH
  ;   --------- ------------- --------  -----------  ---------  --------------
  SWAMP  rock  mud    swamp   swamp   grass_short  shrub_dense   ; . x x . . .
  SAND  rock  sand_caked  sand   grass_dry  shrub_dense  forest_dense  ; . . x x . .
  SOIL  rock  grass_short  grass_long  shrub_dense  forest_dense forest_dense  ; . x . x . x
  CLAY  dirt  grass_long  grass_long  grass_long  forest_dense forest_dense  ; x . . x . .
  SHALE  rock  gravel   grass_dry  grass_long  shrub_dense  forest_dense  ; . x . . . . 
  ROCK  rock  gravel   grass_dry  grass_short  grass_short  grass_long   ; x . . . . . 
 }
You can see tha while the other entires place "forest dense" at the highest setting, "SWAMP" only has "shrub dense" at its highest setting. It never even touches "forest dense". I have no doubt the placement of "x" has soemthing to do with it as well. I have no doubt this is also alot more complicated than it looks.

Its a start though i guess. Either way this is definitly the file thats the source of the problem.

Doesnt descr_geography regenerate from the text file when you start the game if you delete it? Perhaps there are some differences between the .db file and the .txt file causing for the change in appearance (the .txt file may be an older version than the .db file).