BeerSmith is a great recipe archive and costing tool. In small operations, it can do quite a lot. It has never intended to be a fully professional tool, but it has so much power, BeerSmith covers a lot of pro territory. The list of things I'd like is actually pretty short.
Ingredients each have to have unique names for the pricing to work. Identically named ingredients confuse the costing and inventory functions. Similarly, it isn't enough to have "Munich" because for one maltster's Munich is 6 lov, while another is 10. "Dark Munich" starts at 10 then goes up to 30 lov (maybe even higher). Once you spend hours making unique names for all fermentables, you'll still have to manually update supplier prices as needed.
Recording the batch code or tracking multiple worts into a single fermenter just isn't in the scope of BeerSmith.
The fermentation schedule can use more granularity. I'd like to see a user able to add lots more steps than the current four. I'd like to see that portion as flexible as a mash schedule. Plus, some ability to record more measurements during fermentation would help with record keeping.
Although it doesn't effect me, those taxed by alcohol content can't use BeerSmith's numbers, easily. There are multiple calculations for alcohol and it'd be nice if there were more options.
There are several software options for pro brewers that range from one step up from BeerSmith to those that integrate all parts of the supply chain, plus accounting and product tracking. BeerSmith is an adaptable tool, and worth a lot more than the list price.