Some history on the ODB-II
Since 1996, all passenger vehicles sold in the United States have incorporated standard OBD-II capabilities. OBD-II (On-Board Diagnostics) is the second generation of diagnostic equipment designed to keep vehicle emissions as clean as possible. Almost every component in the vehicle that can affect emissions is monitored for correct functioning and operating parameters.
When a problem occurs, the ODB-II system stores a fault code in it's memory and usually triggers an indicator light on the dashboard. This MIL (Malfunction Indicator Light) tells the driver that the vehicle is not running effeciently and to have it services soon.
On 1999 and 2000 E46s, the MIL is labeled "Check Engine". From 2001 on, the MIL is labeled "Check Engine Soon".
When this fault code (also referred to as a DTC or Diagnostic Trouble Code) is triggered, other engine operating parameters are stored at the time such as RPM, Coolant Temperature, Throttle Position, Speed, etc. This give you an idea of what the engine was doing at the time of the fault.
The Society of Automotive Engineers (SAE) created a standard list of trouble codes to indicate various problems. They are 5 digits long and mostly start with the letter P (for Powertrain). Other letters are used for body, chassis, and so on, but they don't pertain to emissions.
The problem of your o/d light blinking without the "check engine" light being lit, indictates there was NO EMISSION related problem.