Не сравнивай FB и MS Sql - весовые категории у них всё же разные.
Насчёт гридов в MSVS: есть там System.Windows.Forms.DataGrid... С проблемами естесвенно. В качастве источника он данных использует System.Data.DataSet, который нужно заполнять "ручками", например, с помощью любого класса поддерживающего интерфейс IDataAdapter (FbDataAdapter в случае FB).
Выглядеть всё это будет примерно так:
DataGrid grid = new DataGrid();
DataSet dset = new DataSet();
grid.DataSource = dset;
FbConnection conn = new FbConnection(connection_string)
conn.Open();
using(FbTransaction trans = conn.BeginTrabsaction() )
{
FbCommand com = conn.CreateCommand();
com.Transaction = trans;
com.CommandText = "select * from table";
FbDataAdapter a = new FbDataAdapter(com);
a.Fill(dset) ;
}
При визуальном проектировании почти всё это натыкивается мышкой, останется только открытие соединения, запуск транзакции и заполнение датасета. В BCB то же самое.
Самое неприятное в .Net'овском способе - это то, что грид не умеет сам подчитывать данные при скролинге(в отличие от Борландовских компонент).
Можно правда указать при заполнении какие записи брать. Типа так: a.Fill(dset, 10,100); , т.е. с десятой по сотую записи из запроса. И такую фигню вешать на событие(скролинг) грида. Геморой, да? Но, у тебя же "появилась мысль - освоить популярную "весчь"...

У "весчи" есть и полезные фишки, которые скрашивают отсутсвие нормальных гридов.
Более подробно почитай в MSDN о пространстве имён System.Data.