It wasn't the envy demon because that was imitating Seeker Lucius who we spoke to only a short time before, when one of his followers punched that cleric. The explanation in game was quite clear; it was time magic that meant that when we get to Redcliffe it is as though Fiona never left it. Of course this is nonsense. It is bad enough they use us travelling in time, without suggesting that Alexius can alter time in just one specific location, whilst everything else outside is following the original time line. Still that is the explanation given so you have to go with it. It would have been far simpler, and made more sense, if they had Alexius just resorting to blood magic to control Fiona (which could still have upset Dorian so he was determined to oppose him) but that was clearly too mundane a solution. Of course, there may have been some mind control going on as well; otherwise it is hard to explain why Fiona becomes confused. If time has been altered, so she never visited Val Royeaux in her memory, why would she be confused? If her memory was altered by blood magic to think she never visited, then appearing confused makes more sense.