Bitte gib immer ein möglichst kleines Beispiel an. Ich hab jetzt fünf Minuten dran gesessen, das von 171 auf 40 Zeilen runterzukürzen, bis ich festgestellt habe, wo das Problem liegt; die 40 Zeilen enthalten aber immer noch ganz schön viel für dieses Problem unwichtiges Zeug. Diese Arbeit möchte ich mir nächstes Mal nicht mehr machen. (Übrigens kommt man so oft selbst auf eine Lösung

)
Das Problem ist, dass du \time in jeder Stimme setzt, aber \set Timing.… nicht. Das \time in der letzten Stimme scheint hier als letztes angewendet zu werden, also werden die Standardbalken gesetzt.
Du kannst dir sehr viel Tipparbeit sparen, indem du
- nur das setzt, was wirklich nötig ist (hier nämlich beamExceptions = #'(); beatStructure und baseMoment sind im 3/4- und 4/4-Takt eh so, wie du sie haben willst) und
- Taktwechsel und alles andere, was alle Stimmen betrifft, in eine globale Stimme packst, die in jedem Staff mitläuft. Diese enthält dann unsichtbare Pausen, um alles dahin zu bringen, wo es hin soll.
So könnte das aussehen:
\version "2.18.2"
\language "deutsch"
global = {
\key g \major
\time 4/4
s1*3
\break
s1
\bar "||"
\key g \minor
\time 3/4
s2.*5
\bar "|."
}
\score {
<<
\new Staff <<
\global
\relative {
g'4 a h c
d c h a
g a h c
d c h a
b a g
a g fis
e d c
d e fis
g2.
}
>>
\new Staff <<
\global
\relative {
g'4 fis g a
h a g fis
e fis g a
h a g fis
g2.
d
c
d
g,
}
>>
>>
}
Noch übersichtlicher wirds, indem du auch die Noten (hier die beiden \relative-Blöcke) in Variablen packst; dadurch wird die Struktur des \score-Blocks viel klarer. Das hilft auch, verschiedene Ausgaben (z. B. Partitur und Einzelstimmen) einfach zu erstellen.
\version "2.18.2"
\language "deutsch"
global = {
\key g \major
\time 4/4
s1*3
\break
s1
\bar "||"
\key g \minor
\time 3/4
s2.*5
\bar "|."
}
eins = \relative {
g'4 a h c
d c h a
g a h c
d c h a
b a g
a g fis
e d c
d e fis
g2.
}
zwei = \relative {
g'4 fis g a
h a g fis
e fis g a
h a g fis
g2.
d
c
d
g,
}
\score {
<<
\new Staff <<
\global
\eins
>>
\new Staff <<
\global
\zwei
>>
>>
}