Doch, Float funktioniert. Du weißt nur nicht, wie. Das lässt sich auch nicht mal eben schnell erklären. Kurz: Nicht #header weicht dem Float aus, sondern nur sein Inhalt. Und der Inhalt (das Bild) passt nicht neben das gefloatete Element.
Ich empfehle Grundlagenlektüre:
LB Teil 1 (von 2009) kostenlos online lesen - Little Boxes - Webseiten gestalten mit HTML und CSS (von Peter Müller) Ganz durcharbeiten, nicht nur partiell überfliegen. Dort lernst du z.B. auch, wie Kommentare in CSS aussehen.
Die [FAQ]FAQ[/FAQ] haben auch viel zu bieten.
Leg das, was du da hast, bitte erstmal weg. Das Gebastel führt dich nicht weiter.
Da du nicht wirklich zeigst, was das werden soll, kann man auch nur Vermutungen anstellen. Und diese lautet: Für deinen Hintergrund brauchst du keine gefloateten Elemente. Dafür reicht
ein Hintergrundbild im umgebenden Element.