There's this thing that is: Cloud cannot see the real Aerith, because she's dead and they're not in the Lifestream (I think showing herself to him happens later, when she has a better grasp of her powers, right now she's still very close from our Aerith in Rebirth). So every time he's seen Aerith since the bizarre lake scene, it's not her he's seen.
Which means, every time Cloud "sees" Aerith in the last scene, it's not her. So who is it? Well we know he's being manipulating by a certain alien... it has to be Jenova, and if you look closely at the lake scene then it makes even more sense: Tifa nearly brings him back just with a sigh, and Jenova can't have that so she makes him see Aerith to keep her hold onto him.
This is why every time Cloud sees Aerith in the last scene, it's not her. He can't see her and we clearly see Aerith "disappearing" from where she was right when Cloud does not look. He looks again? She's there again.
The only time when I think it should be Aerith is when we see Aerith but we don't see Cloud and he's not paying attention to her. So with Yuffie and with Red and Tifa: she is telling them goodbye. And last of course when the Tiny Bronco flies away, of course it's her too.
But whenever he looks at her and when they chat goodbye? Yeah it's not her. It's a personality based on who Cloud thought Aerith was and his memories of her, which is why the scene begins with a good callback to the park CA scene but then ends up distorted. Jenova was ready to go but Cloud thought Aerith would want to know he's going after Sephiroth: Jenova jumps on the occasion because yes, she wants him to "reunite" with Sephiroth, but it also shows the clear disconnect between Cloud's idea of Aerith and the real Aerith. There are some parts of her he grasps quite well, and others he just doesn't understand - nor did make the effort to understand while she was alive. I think this is also part of his guilt.