Hi Dan,
If your calcout record is only doing the index-to-number conversion, that could be done easier inside the mbbo. Use the mbbo's xxVL fields to hold the pattern numbers for each of the values and use the "Raw Soft" DTYP to write these patterns (instead of the index) through the OUT link (pointing to ...:POS_CSET in your case). In recent Base versions, the pattern values could also be specified in hex or octal for increased clarity.
An additional calcout is only needed when doing more complicated operations, e.g., combining patterns from multiple mbbo records into a single output value (usually a chain of shift/OR). In that case, the individual index-to-value conversions should still be done in the mbbo records, each for their own part. (So that the conversions are independent of their value's final position in the combined value.)
Cheers,
~Ralph