Munch pretended to shoot PrattShooting Gordon Pratt, even with the trauma involved, was out of Munch's character. However, by stalling the investigation by playing with Bayliss, whoever did do it (probably within the BPD) can get away with the deed, and no more of the unit's time or energy would be wasted on Pratt.
Gaffney killed Adena WatsonHe was a racist who didn't care for being a good police officer and loved placing idiotic bureaucratic restrictions on the precinct when he gained authority. It's not unthinkable he was a criminal using his job to hinder investigations.
Barnfather killed Adena WatsonThen again, this man was a young, ineffective fool seemingly hired so the BPD could play politics for the media as opposed to being qualified, and he did gladly fuck up the investigation early on by leaking key details to the press. He also seemed to go out of his way to interfere with a smooth operation of police investigations all around either because he didn't seem to know any better, wanted to appease public relations... or he was also up to some dirty stuff and was covering it up. Either one comes off as a potential dirty cop.
Gaffney has a twin brother ashamed of himBefore Roger Gaffney appeared his actor played a uniformed officer named Frank that Munch seemed to halfway get along with, so they were not the same character. Twin brother, perhaps? He may have transferred out due to Roger's asshole behavior, either knowing he might catch some of the flak for it or out of personal disgust for his douchebag, racist cop brother being such a dirtball.
Gee's final afterlife scene was a dying dreamJust.... it would make more sense than the series suddenly going all spiritual at the last minute. Before anyone points out the tarot cards and ghosts from season 1, those were never shown to actually be real, just a character thinking she was hearing things in a dream.