Actually, in this instance, it does stack. You have an enhancement bonus to land speed, and your fly speed is set to that speed. The 30 extra from Haste is then added to your fly speed. You don't have the enhancement bonus to fly speed twice, you have it once to land speed, and then the fly speed is defined as the same as the land speed, and then 30 feet are added to that.
In other words, it's not 'Fly speed=X+30+30', it's 'Y=X+30, Fly speed=Y+30'