Ich habe die ganze Diskussion nicht verfolgt (und könnte und wollte aus einem Code-Schnipsel statt einem Minimalbeispiel ohnehin keine in unbekannter Umgebung funktionierende Lösung basteln), will aber darauf hinweisen, dass \isodd{\thepage} aus zwei Gründen falsch ist. Zum einen ist \thepage nicht zwangsläufig eine arabische Zahl, sondern kann auch eine römische Zahl oder kann auch etwas wie »2-17« sein. Für die Darstellung der arabischen Zahl müsste man \arabic{page} verwenden. Für den Wert des Seitenzählers sollte man besser \value{page} verwenden. Schwerer wiegt aber, dass \thepage (außer im Seitenkopf oder Seitenfuß) gar nicht zwingend die aktuelle Seite ist. TeX hat eine asynchrone Ausgabe. Es liest und verarbeitet zunächst Eingabe und bildet daraus einen Absatz. Der fertig gesetzte Absatz wird dann dem aktuellen Seiteninhalt hinzugefügt. Wird dabei festgestellt, dass das Ergebnis länger als eine Seite ist, wird von dem ganzen quasi eine Seite abgeschnitten und ausgegeben. Ist der Rest noch immer länger als eine Seite, wird das so lange wiederholt, bis der Rest kürzer als eine Seite ist. Dabei wird der Absatz weder neu umbrochen noch dessen Inhalt neu ausgewertet.
KOMA-Script bietet daher (in scrbase) die Anweisung \ifthispageodd, um zuverlässig festzustellen, ob die aktuelle Seite gerade oder ungerade ist. Es gibt AFAIK weitere Pakete, die ähnliches leisten.
Ansonsten sei nur noch darauf hingewiesen, dass man bei \includegraphics durchaus Höhe und Breite und zusätzlich keepaspectratio angeben kann, um den verfügbaren Platz (der durch width und height bestimmt ist) optimal zu füllen, ohne das Seitenverhältnis zu verändern.