It would be easy for me to fault the ignition switch (depending on how or who installed it, but let's assume it's okay.
Does this problem occur everytime you start it first thing in the morning, or just when the engine is cold (like when you leave from work)?
Tested or not, some diagnostics cannot detect problems in modern computerized engine management systems.
You can do a simple test at home with a voltmeter.
First thing in the morning before you start the engine, place the voltmeter leads on each battery terminal. You should get a reading of 11.5 - 12 volts DC nominal. Any less and it's a sign of a weak battery. If it's four or more years old, it's pretty likely that it's due for replacement.
Next, test with the engine running. Make sure all unnecessary accessories are off (headlights, A/C radio, wipers, etc.).
If the alternator is doing it's job, you should be registering between 13.5 - 14.4 volts DC. Lower than that, and it may be time to replace the brushes in the alternator, specifically, the internal regulator. If there are no provisions to do so, then a full alternator replacement is needed.
Also try jiggling the shifter when starting in the morning. If it doesn't start, then starts immediately after moving the shifter, then the neutral safety switch may be bad.
2009 ML350 (84K) - Family vehicle
2001 CLK430 Cabriolet (71K) - Wife's car
2005 BMW 645CI (124K) - My daily driver
2012 Mustang V6 (60K) - Daughter's car