Код:
IBQuery1.SQL.Add('insert into users (USER_ID, FIO) values ('+
IntToStr(id)+', '+QuotedStr(fio)+')');
SQL выражение - это строка, т.е. все значения, входящие в это выражение должны быть представлены в строковом виде.
QuotedStr - функция гарантированно заключает строку в нужные для SQL кавычки (тоже надо делать и со значениями типа ДАТА). Числовые значения должны быть без кавычек.
Да, еще. Для выполнения предложения "INSERT" требуется метод ExecSQL, а не Open (IBQuery1.ExecSQL).
P.S. Забавное выражение "fio:=id:=Edit2.Text;". Никогда не встречал в Delphi такие конструкции. Естественно, компилятор, дает на нем ошибку.