It seems convert_insert only wants the column name, not the data type.
So find
convert_insert('settings', array('variable' => 'string', 'value' => 'string'),
array('smiley_enable', '1'), 'ignore'
);
Replace with
convert_insert('settings', array('variable', 'value'),
array('smiley_enable', '1'), 'ignore'
);
Find
convert_insert('smileys', array('code' => 'string', 'filename' => 'string', 'description' => 'string', 'hidden' => 'int'),
array($row['code'], $row['filename'], $row['description'], 1), 'ignore'
);
Replace with
convert_insert('smileys', array('code', 'filename', 'description', 'hidden'),
array($row['code'], $row['filename'], $row['description'], 1), 'ignore'
);