als jij je background-image naar een php script verwijst (en deze dus netjes de juist image headers uitspuugt) wat is dan het probleem? Dan kan he gewoon het PHP script een afbeelding laten maken en outputten en met CSS de afbeelding herhalen.
Als je de directe url van de GD afbeelding bezoekt, krijg je dan daadwerkelijk de afbeelding, of een hoop tekens? Als het dat laatste is, moet je even de goeie headers toevoegen. Als het dat eerste is weet ik niet wat er aan de hand is.