I don't think it's the firetrucks, I spawned one with the car spawner in that area and nothing happened. It's probably the fire, but what exactly? One bad thing about this bug is that it could potentially make the flying unfinishable, because there's a mission where you have to blow up cars with a Hunter.
You're supposed to test if the game spawns them. I wouldn't be surprised if there is a missing patch for the "no firetrucks in area feature" as they are marked as -1 inside the multidimensional arrays.
The problem with using negative model IDs is simple. The game has a global array of pointers (which contain the location in the application's memory of the model information), sorted by model IDs. Should the pointer value inside this array be zero, it points to nowwhere and attempting to read from a place which does not exist will crash the game. If the pointer value is not zero, the value is used to read from the model info structure. This array of pointers has a fixed size, and the first model ID (0) is the first member of this array. The last member is determiined by fastman92 limit adjuster. The array itself is also located in the application's memory (RAM), and what's stored before or after this array is not known. It's location is different every time you run the game.
Now, my theory is simple. There is a check somewhere which ensures a firetruck does not spawn in the SA Countryside area. Makes sense, as there are no major fire departments in a rural area. Perhaps the game passes this check when spawning firetrucks inside the SA Desert area as it has its own town ID (basicly a special in-game zone used to define areas and their names) and uses a negative number as an index in this global list of pointers. This results in an attempt to read data from before the array, and like I said above, it is not known what is stored there (let alone if something exists there to begin with).
The firetruck is attempted to be spawned, and the game is going to crash sooner or later, in this case it crashed when calling a virtual function, in an attempt to obtain 2dfx for a model.
A solution for this theory: Really simple. Alter the code which caused the firetruck to be spawned to simply not spawn it. The crash would be solved.
Hope this makes sense.