I'd second that suggestion - disconnect the negative battery lead (at the negative terminal) once it's parked at night. See how it does in the morning.
There are basically two sides to this equation - the battery and the starter - although the wiring and connections add a third. It's gotta be one of those three.
When the engine is cold it presents the heaviest load to the starter and battery. If connections and cables are good, then it's one of the two. Since the battery has been replaced, I'd check out the starter or the main battery positive lead. The starter grounds through its base and mounting bolts, so if it's loose and oily, there won't be much electricity flowing.
At this point I'd say it's either the starter or the connections. Especially if it still has the hard start symptoms tomorrow morning after disconnecting the negative lead tonight.
Wanted: Dead, smashed, crashed or trashed gauges
BMW GAUGE REPAIRS - TACH*SPEEDO*CLOCK*VOLT METER *PODs & LIGHT BOARD*