Hi kaic,
Re-tired mentions a good possibility.
The symptoms you describe also sound like there may be a problem with the coolant or air charge temperature sensor circuits. This type of problem can fool the computer into thinking that the engine temperature and/or the ambient air temperature are cooler than they actually are. When this happens the computer will command too much fuel to the engine which can cause hard starting, black smoke and poor idle as you indicated.
You said that the check engine light is not on but has the computer been checked for trouble codes? There may be codes stored even if you have not noticed the check engine light come on.
You may want to check the resistance of the coolant and air charge temperature sensors to be sure they reading properly. Also look for poor electrical connections and wiring problems with each sensor.
The coolant temp sensor should be located in the thermostat housing or the lower intake manifold just below the throttle body. The resistance of the sensor will change in direct relation to the engine coolant temperature. With the engine off disconnect the sensor electrical connector and connect a digital volt/ohm meter set to read ohms between the two terminals of the sensor, the resistance readings should be as follows:
Engine Temp. .......... Sensor Resistance (1000 Ohms)
68 deg F . ............................. 2.2 – 2.7
104 deg F. ............................ 1.0 - 1.3
140 deg F. ............................ 0.5 - 0.7
176 deg F. ............................ 0.28 – 0.35
The same test can be done for the air charge temperature sensor which is located on the driver side of the upper intake plenum. The readings are as follows:
Air Temp. ....................Sensor Resistance (1000 Ohms)
77 deg F. ......................... 29.7 – 36.3
122 deg F. ....................... 10.5 – 12.9
185 deg F. ....................... 3.3 - 3.7
There is also an air temperature sensor built into the air-flow meter. You mentioned that the air-flow meter had been checked and that a reading was incorrect, do you which reading was off? The chart below lists the resistance values measured between certain terminals of the air-flow meter.
There are also fuel system problems as mentioned by Re-tired such as leaking fuel injectors, excessive fuel pressure or a leaking fuel pressure regulator diaphragm which can cause the same symptoms as you described so these should not be over looked either. As I mentioned I am interested to know if ant trouble are stored in the computer as this may be helpful in indicating a starting point.
As far as the O2 is concerned I doubt that your starting problem can be caused by a bad O2 sensor but if this problem has been present for more than just a very short period of time O2 sensor has probably been contaminated by excessive fuel and will need to be replaced after the original problem is found and repaired.