Ok, so resolution:
PHP is right
Library was GD
Version of UBB is 7.5.7
The offending line in image.inc.php was :
$function = "resize_image_{$config['GRAPHICS_LIBRARY']}";
Taking out the "_" at the tail there caused recursion so I can understand why it blew up when that changed.
The line is to allow for multiple versions of libraries so what I did for the next line down (which was )
// $filename = $function ($type,$sourcefile,intval($width),intval($height),$is,$ext);
Simply removed the variable option and forced the library to use.
$filename = resize_image_gd($type,$sourcefile,intval($width),intval($height),$is,$ext);
problem done and dusted. Imagery works = users happy.