I only looked briefly at your code but make sure your colums and values are in order.
$sql = "INSERT INTO ".TABLE_PREFIX."aircraft (
`icao`, `name`, `fullname`, `registration`, `downloadlink`,
`imagelink`, `range`, `weight`, `cruise`,
`selcal`, `maxpax`, `maxcargo`, `minrank`, `ranklevel`, `enabled`)
VALUES (
'{$data['icao']}', '{$data['name']}', '{$data['fullname']}', '{$data['registration']}',
'{$data['downloadlink']}', '{$data['imagelink']}', '{$data['range']}', '{$data['weight']}',
'{$data['cruise']}', '{$data['selcal']}’, '{$data['maxpax']}', '{$data['maxcargo']}', {$data['minrank']},
{$rank_level}, {$data['enabled']})";
Try that. You'll see that in the column listing it's after 'cruise' and before 'maxpax'. Keep it that way throughout your code. Also, I'm assuming this is the order it's in in the table?