You can try adding another return character before your string and another extra return after your string to see if that is more stable. We are pushing the envelope here you know.
It seems that grouping and ungrouping these objects causes some problems down the line so I definitely advise against it. I find the three objects pretty easy to move around as long as they are all selected when moved just by clicking and dragging in the center. I originally wanted to group them for the reasons you indicated but remembered that there is no programmatic statement to do this. After finding out how weird things got after grouping it became a moot point.