Klein 000, 133, 120, 119, 108111 bytes
.\"Happy Birthday, "\"ChartZ Belatedly"@Belatedly!"@
>."Happy Birthday, ChartZ Belatedly"@Belatedly!"@
"coinheringaahing"@"oinheringaahing!"@.>"caird "c"
The idea of this follows the classic klein source-layout/radiation-hardening approach. We have 3 programs and we use the alignment to select which one we run. All of our swaps move one character to a different line breaking the alignment and putting it into a different program.
The breakdown
If the character is one of the first two then we swap them
\."Happy Birthday, "\"ChartZ Belatedly"@Belatedly!"@
>."Happy Birthday, ChartZ Belatedly"@Belatedly!"@
"coinheringaahing"@"oinheringaahing!"@.>"caird "c"
Anything else on the first line we can put at the begining of the second line.
.\"Happy Birhday, "\"ChartZ Belatedly"@Belatedly!"@
t>."Happy Birthday, ChartZ Belatedly"@Belatedly!"@
"coinheringaahing"@"oinheringaahing!"@.>"caird "c"
For the first two characters of the second line we can swap them too.
.\"Happy Birthday, "\"ChartZ Belatedly"@Belatedly!"@
.>"Happy Birthday, ChartZ Belatedly"@Belatedly!"@
"coinheringaahing"@"oinheringaahing!"@.>"caird "c"
For the rest of the line we can insert it before the .
in the third line
.\"Happy Birthday, "\"ChartZ Belatedly"@Belatedly!"@
>."Happy BirthdayBirhday, ChartZ Belatedly"Belatedly!"@
"coinheringaahing"@@"oinheringaahing!"@t.>"caird "c"
Any character on the third line can be inserted at the front of the second line.
.\"Happy Birthday, "\"ChartZ Belatedly"@Belatedly!"@
a>."Happy Birthday, ChartZ Belatedly"@Belatedly!"@
"coinheringahing"@"oinheringahing!"@.>"caird "c"
Finally we can do the newlines as follows:
.\"Happy Birthday, "\"ChartZ Belatedly"Belatedly!"
@>."Happy Birthday, ChartZ Belatedly"@Belatedly!"@
"coinheringaahing"@"oinheringaahing!"@.>"caird "c"
.\"Happy Birthday, "\"ChartZ Belatedly"@Belatedly!"@
>."Happy Birthday, ChartZ Belatedly"@"coinheringaahing"@Belatedly!"@"oinheringaahing!"@.>"caird c
"