Man F90 +trailer bug mentioned above, probably can be avoided by defining appropriate purchase_cargo_capacity in graphic section (such bug occurs, if you want to define 0 capacity for tractor unit and non-zero capacity for trailer using position_in_consist switch).
If speaking about cargo capacity - openttd multipliers are properly set in terms of capacity of the same volume (wagon box, aircraft deck, ship hold). But in case of road vehicles, in my opinion, it is fair to calculate cargo capacity in terms of maximal load weight, for the following reasons:
1 - slopes: if truck can be refitted to many kinds of cargo, it should have similar mass regardless of cargo type
2 - gameplay: lightweight cargo road transport would be preferred due to increased capacity in comparison to bulk one - it gives interesting impact on game diversity (usually trains are the best for all freight type, lightweight cargo handicap is not bad idea IMHO)
3 - real semitrailers always try to haul maximal weight of the given cargo, please note - hoppers are short, tanks medium and box carriers looong.
For example, in my road set, I'm using maxload_##STTN_Name##_switch defined here:
http://dev.openttdcoop.org/projects/pol ... fSTTN.pnml
(param_load_multiplier is by default =2)
Of course the drawback is, that some cargo types are omitted (normal openttd rules apply then), but it is defined as a macro therefore I can fix it.