Los datos están mal porque incluye líneas de facturas que ya no existen. Precisamente el SQL que te puse es para listar esas líneas que no deberían estar.
Puedes eliminarlas ejecutando esto:
delete from lineasfacturascli where idfactura not in (select idfactura from facturascli);
Si lo instalaste primero en tu server y luego lo moviste a 1and1, cabe la posibilidad de que el problema venga de tu server. Lo que está claro es que alguno de los dos no soporta claves ajenas.
Haz una cosa. Haz una instalación limpia en cada uno, crea una factura con líneas y luego elimínala. A continuación ejecuta esto:
select * from lineasfacturascli where idfactura not in (select idfactura from facturascli);
En el que salgan líneas es en el que está el problema.