2003 300M Special Intermittent Issue

My 03 has developed an intermittent starting issue. The mechanic replaced the cam sensor (code indicated this could be the issue), but the problem is still occurring. Mechanic said it could be a faulty crankshaft sensor – or a faulty PCM – an expensive part. I am trying to decide if I should just replace both parts. Anyone have this situation or problem? Car starts and runs great – but about once a week the car will be hard to start - as if it is flooded. It eventually starts, but the wait can be a few minutes. If not repaired, will it eventually just fail to start at all? Thanks for your help.