I don't think they intended it to mean that Odo no longer loved Kira, but that he loved her enough to let her go. By the end of Crossfire Odo had come to peace with that fact that he was never going to be with her and accepted that she was happy with Shakar, so he swallowed up his feelings and got on with his life. It doesn't mean he wasn't in love with her any more, you could actually argue that it was just the opposite. It might not be realistic, I know that I'd be completely unable to bottle my feelings up like that (sadly, from personal experience), but Odo is a man of greater character than I.However, once we learned that Odo was deeply in love with Kira, there was no going back IMO. Making characters fall in and out of love just like that would have really cheapened them. It's not just some crush we're talking about, this was portrayed as something very deep and strong on Odo's part. If it was someone else, say Bashir, it wouldn't be hard to buy, but I can't see Odo as someone who has short-lived crushes that come and go all the time.
Then again, the dead Cardassian vole from Playing God was a man of greater character than I.
So, while Kira was with Shakar the writers didn't do anything with the relationship and thought they had closed the book on the whole episode. Then they had the concept for Children of Time and realised that the potential for drama was too great to not bring back the Kira/Odo romance, so they unceremoniously dropped the Kira/Shakar relationship off-screen so that Odo's emotions could resurface.