Recent changes with the merged cells and shared formulas have introduced a stupid bug: "for i := 0 to GetLastOccupiedColIndex" - I always forget whether the limits of a for loop are calculated only once at entry, or continuously during the loop... In this case, it seems that GetlastOccupiedColIndex is recalculated with every loop, and this costs a LOT!
After pre-calculating the the loop limits, speed is back. But there are some other strange things which I want to figure out before uploading a new version. Please be patient.