Hi John,
Actually, it sounds like you might just want to have a cost type field in your table and then design different classes to handle the calculations for each cost type. This will give you the ability to subclass any of the various cost type classes to handle variations and with a little more thought into the design, you might even be able to chain different types of cost type calculations together. Steven Blacks web site,
www.stevenblack.com, has several papers on design patterns. I can't remember the exact paper, but one of them discusses something very similar for pricing in an order entry system.