I wanted to add a few of my own thoughts inspired by F15's analyses from @azfell-ajcrowley that I reblogged yesterday.
What if Crowley also understood the "coffee or death" implication, and that's why he didn't try to stop Aziraphale from going with the Metatron? Maybe he realized the Metatron was planning something, and that if Aziraphale refused to go, the consequences could quite literally be fatal. We also see that when Crowley says, "Go. It can't get any weirder," he's sprawled out on the sofa. As we know, the more Crowley is trying to hide what he's really feeling, whether he's scared, anxious, or lying, the more deliberately relaxed and nonchalant his body language becomes.
Crowley also says that he knows exactly what Aziraphale is offering him.
— I think you don't understand what I'm offering you. (He's not asking Crowley to come with him to Heaven, he's asking him to stay in the bookshop. Aziraphale believes Crowley hasn't understood the hints he's been trying to give him.)
— I understand. And I understand much better than you do.
Maybe he really did understand Aziraphale's hints, and he also realized the Metatron was watching them. So perhaps he was trying to tell Aziraphale "I understand. I'll stay." Then he makes a show of leaving so that the Metatron will see it and believe his manipulation has worked. But Aziraphale is panicking, doesn't realize Crowley has understood him, and thinks Crowley still hasn't grasped what he's been trying so desperately to communicate.
And maybe the kiss happens because Crowley is terrified they won't get another chance. Who knows when they'll be able to see each other again? On top of that, he can see how much the angel is hurting. And he remembers the last time they were forced apart by outside circumstances. Yes, the situation was different, but the result was the same: Crowley believed Aziraphale had died, and the terrible things he said to him in the bandstand were, as far as he knew at the time, the last words he would ever say to him. He didn't want to make that mistake again. So, acting entirely on emotion, he did what he did because it felt like this might be his last chance to tell Aziraphale what he'd been unable to say outright for six thousand years.
I don't know if I managed to explain my thoughts clearly, but I hope that makes sense.
And yes, I'm still obsessed with analyzing Season 2, including its ending, because there really is so much there to latch onto. There are plenty of reasons to think things aren't nearly as straightforward as they seem at first glance. And honestly, I don't give a damn about the awful ending we ended up getting. I'll interpret the Season 2 finale however I want, come up with my own satisfying ending for these two, because I have fucking free will, and I can do whatever I want. :)