When I build a wonder that gives a percentage bonus, for example Hagia Sophia gives +33% generation of great people, is that percentage bonus applied once to the current base generation rate or it is on-going? i.e. if the base great person generation rate increases, is this bonus re-applyed to this rate?
All percentage bonuses are live and recalculated whenever the affected value changes, which is to say they are always based on the current base value, and not any historical value.
Since it's the given example, lets look at the +33% bonus to great person generation from the Hagia Sohpia.
Let's say that initially you have a city producing +3 great engineer points, with no other percentage effects currently in place.
You then build the Hagia Sohpia.
The +33% from the wonder will be applied to +3, boosting the output to +4.
Then, a few turns later, you adjust the citizen allocations for this city so that the base rate is now +6.
The +33% from the wonder will be applied to +6 (the current value), boosting the output to +8.
Most percentage based bonuses in the game are applied last. This means that if you are currently generating 3 great engineer points per turn and you build the Hagia Sophia, your new "gpp" looks like this
Engineer 4 (3 + 1: 3 base, 1 +33% Hagia Sophia) Artist 0 (0 + 0: 0 base, 0 +33% Hagia Sophia) Merchant 0 (0 + 0: 0 base, 0 +33% Hagia Sophia) Scientist 0 (0 + 0: 0 base, 0 +33% Hagia Sophia)
This works the same way for any other city % modifier, such as the forge, workshop, windmills, etc. Percentage bonuses are applied last.