It's possible a B fare is required for a stopover, but perhaps unlikely. IMO they might charge for a stopover on lower fares, and prohibit stopovers on the very lowest.
It's also possible that B is the lowest available fare for your travel dates. Any chance to check fare rules and availability by bucket... ExpertFlyer, perhaps?