Seems simple to me.
Heidfeld is a replacement driver, Senna is the 3rd driver. As Kubica recovers, maybe the team have realised they need a long term (i.e. next season) replacement for Robert. Heidfeld was only intended to be the "experienced" driver for a while, as people hoped Kubica would be back earlier. They made the right decision, as Petrov/Senna would have been a foolish line up, but Petrov has proven he has the speed and the leadership required, so they can now afford to get Senna in.
Simple.