Just a guess, is the bike a Cervelo? They are notorious for creaking, but are hardly unique.
I agree with the above comment about bearing movement inside of the frame. It is maddening. There are several ways to solve this:
Instructions:
Do not go back to the LBS you've used earlier. Nothing mean but they seem to lack the experience to figure this out, unless they just like selling you stuff.
Keep your cash. I seriously doubt that your crankarm is damaged. Even if I am wrong you can buy a new Ultegra crankset for far less than what you are hinting at for a single crankarm.
If you changed the cassette (which are pricey) you should also change the chain (which are relatively cheap). They wear together. It's cheap insurance, but will have nothing to do with your creaking noise.
Solutions:
If it is the BB30 shifting inside of the bb shell there are several options. Most frame manufacturers have what are essentially shims that press into the shell, and then the bearing presses into them. There are exceptions, and it is less common on the newest bikes, but they do exist for this reason. A good LBS will know and understand this.
If it is a direct fit into the frame there is a locktite product that will fill the gap, solidify and end your creaking nightmare. It will likely void the warranty, but that warranty went out the window a long time ago. I've never used on a bike (but have on other situations), it but have read good things about it.
Chainring bolts. Are they loose? Have you taken them off, cleaned them carefully and used thread locker on them? They can make some strange noises as you pedal.
And on the off chance, how tight are the quick releases levers on the wheels? I had a Bianchi that had the classic BB noises and behaviors. I was in the middle of nowhere and confused to how this could happen so abruptly. On a whim I tightened the rear wheel really tight, and it went away. Only with those wheels and that bike together did I have that problem.
Good luck. Always check the cheapest and easiest stuff first.