There are some limitations in what the BOM in Inventor can do, for sure. I'm not (and have never been) a Solidworks user, so I'm not going to quibble over which which program can beat up the other. I'm just going to address how you can solve at least part of your issues in Inventor.
Some of what you are asking for, at least in my opinion, is better done in the parts than the BOM table anyway, even if Inventor had the capability. For example:
@Anonymous wrote:
I found that it is nearly impossible to imbed multiple automatic calculations in the BOM such as cut length equating to a part cost by price per inch.
If you calculate the value in the part, you only have to set that up once, no matter how many times the part gets used in different assemblies. And it's value is available even if you are only looking at the part (not the assembly).
The way I would typically do this is to have a User Parameter, named something like "CostPerInch", and the parameter called CutLength (might be a Model Parameter, might be a Reference Parameter, depending on how it was determined).
I would then write some extremely simple iLogic code that multiplies the two together and assigns that value to the "Estimated Cost" property. It takes only two lines of code to do this, and I'm not what anyone would consider a great programmer. (Actually, it could probably be one line of code, but I'm going to show it the way it actually is written in some of my files.)
TotalCost = CostperInch * Cutlength
iProperties.Value("Project", "Estimated Cost") = TotalCost
And you're probably thinking "Writing code every time would be a lot of work!" And you'd be right. But that wouldn't be the preferred way to handle something like this anyway. Instead, you would write the code once, then build it into a template file. At that point, you have not only done the cost calculation for that part. Instead, you have simultaneously done the cost calculation for every part of that type that will ever be made in the future. All you have to do is update the CostPerInch parameter as required, and then your parts would calculate their own costs without any further action from you.
Inventor is not explicitly built for costing, and it shows. Many of its users work for companies that have MRP or ERP systems for that sort of task, which is probably why they didn't bother building it into Inventor. I am currently at a smaller company that doesn't have that type of software. So instead, when I'm doing a cost estimate, I tend to use Inventor's BOM to get my initial list of parts and their costs, then export it to Excel to total everything up. But this is not something I have to do often, and I understand that this method might be a pain for someone who needs it more frequently.
Switching to a different system than what you have used for years is not an easy thing to do. Some of what you want will be beyond Inventor's current capabilities. Some of it is only beyond your current knowledge about how to use Inventor. It takes time to get back up to speed after switching to a different software. But the way SolidWorks did things, whether inherently better or not, doesn't really matter, because it's not the program you are using now. And I would venture a guess that you probably did things in SolidWorks regularly that a newer user would find clunky and cumbersome, and might even refer to as a "workaround". They simply seemed normal to you through familiarity, which you don't have built up in Inventor yet.
If you want to solve some of your problems in Inventor, there are plenty of people here that will help. Post your questions and we'll see what we can come up with. We won't be able to solve everything, but even in those cases, at least you'll know there isn't a good solution.