When you put the ODB scanner on, are you looking at the pending code listing? Or did the ECU actually throw up another cel? Keep in mind that the ECU is not a waring system, but a datalogging and engine adjustment and control device. The ECU will log events, and if the event is outside the set parameters and it happens x amount of times within a set time span, then it throws up the cel.
When you cleaned the MAF did you touch the elements? Or just spray electronics cleaner on it? When you put it back together, are you sure you did so correctly?