The first has FreightImageType[n] and FreightImage[n][?] both set for all n=0..3.

The second says FreightImageType[0] and FreightImageType[1], but has FreightImage[?] - twice without the first index, which implies [ 0]. So you end up one set of cargo images short. Additionally, the images are set twice, each time to different values. Not sure which is actually used, but that doesn't matter much.

You probably copy-pasted the FreightImage lines from a vehicle that does not specify more than one cargo graphic. In that case, the first index is omitted (defaults to 0 as already said) and FreightImageType too, since the 0-th one is implicitly assumed to be the same as what is set in freight=?