GolfScript, 24 bytes
A horribly long answer... golfed out 1 byte by using a hard-to-read output format
~[1]*{..2/{{+}*}%\,(}do;
Explanation
~ // Dump the contents of the input string
[1]* // Create a 1-list with the length of the input string
{ }do // do ... while
\,( // the length of the array is larger than 1
. // Extra evolution step that we need to keep
. // Create a copy of the input
2/ // That splits into parts of 2 items
{ }% // For each over the splitted array:
{+}* // Reduce the item with addition
// e.g. [1] -> [1], [1 2] -> [3], etc.
; // Discard the abundant copy