В зависимости от компилятора, что такое тип va_list, каковы макросы va_start и va_end. Вы не можете сделать это стандартным способом. Вам нужно будет использовать конструкцию, специфичную для компилятора.
Возможно, вы можете изменить функцию foo? Если это так, то сделайте это обратно - конвертируйте va_list в QList и сделайте «foo» принять QList.
// EDIT
Затем посмотрите, что такое тип va_list, что va_start и va_end макросы находятся в вашем конкретном компиляторе. Затем создайте свой va_list таким образом, чтобы эти макросы работали над ним.
Вы можете попробовать это, чтобы поймать ошибку:
try {
$sql = "UPDATE ".$row[2]." SET gebuchtvon = '".$neugebuchtvon."' WHERE id = ".$row[0];
} catch (Exception $e) {
print_r($e);
die;
}