Man braucht hier nicht die Grob-Eigenschaft KeySignature.break-visibility, sondern die Kontext-Eigenschaft explicitKeySignatureVisibility:
\once \set Staff.explicitKeySignatureVisibility = #end-of-line-invisibleFalls du von einer Kreuz- zu einer B-Tonart wechselst oder andersherum, wirds ein bißchen merkwürdig: Die Auflösungszeichen gehören nicht zu KeySignature, sondern zu KeyCancellation und da greift break-visibility dann wieder:
\once \override Staff.KeyCancellation.break-visibility = #center-visibleWarum das so ist, weiß ich grad nicht mehr. Ich finds ein bißchen verwirrend, aber es gab nen Grund dafür.
Deine Konstruktion mit \stopStaff und s1 sieht abenteuerlich aus. Was genau willst du damit erreichen? Je nach Ziel und Anwendungsfall könnte es sein, daß du mit
1. mehreren Partituren statt einer und ragged-last = ##t im \paper-Block oder
2. einer Partitur und ragged-right = ##t im \paper-Block
einfacher das gewünschte Ergebnis bekommst.