The short answer is yes, it works (having the correct driver, sql side).
Let me try to simplify this scenario. In fact, it is not clear what kind of installation is the OP speaking about.
SQL Server must use either ODBC or OLE DB drivers. unfortunately, official Firebird drivers are dated 2017. Some third parties do them, devart, ibprovider, ibphonix, etc. I did my tests using the ibprovider ones.
The initial post is showing this connection string (partial): "Dbname=C:\Omni\Company\Data\databasefile.FDB".
Said that the traditional style for connecting via TCP/IP is
"IP address/port:database_file_path", the OP's seems to face with an embedded Firebird installation.
The difference is that, in this latter case, there is no Firebird service answering requests. Everything is done via a DLL, that's usually named fbembed.dll.
Installing Firebird as a service, as proposed, certainly fix the issue, because, after this installation, there is a (Windows) service always running and taking care of databases. However, if you do not want/need this service, MS SQL Server can work with the "embedded" installation too.
The main rule, I hardly discovered, is: the bunch of needed Firebird DLLs (but fbembed.dll) must be installed in the Windows system folder (in the manual it is reported exactly the contrary...).
To sum up, I have built a working server in this way.
0) I have benn always useing the ibprovider driver because their developers provide a great support service. And, some basic instructions can be found here too: https://www.ibprovider.com/eng/documentation/mssql_2012.html
1) I started downloading the official embedded package.
2) In the data folder, I have put the database, the fbembed.dll, and the firebird.msg
3) In the windows system folder, I have registered the minimum firebird DLL needed: icuuc30, icuin30, icudt30, and ib_util.
4) I've then created a linked server (yep, OPENROWSET is exactly the same) using the following string (if you need the fbclient.dll, simply copy/paste the embeded.dll and rename it):
EXEC master.dbo.sp_addlinkedserver @server = N'myName', @srvproduct=N'myName', @provider=N'LCPI.IBProvider.3', @datasrc=N'myName', @provstr=N'location=E:\mypath\MYDB.GDB;dbclient_library_64=E:\mypath\fbembed.dll;auto_commit=true;nested_trans=true;truncate_char=false;dbtime_rules=1;support_odbc_query=true;asynch_fetch=2;ignore_err_param=4;schema_ldr_cfg__check_constraints=0;schema_ldr_cfg__descriptions=0;dbclient_type=fb'
5) Security isn't a concern. The DLL does not manage it, BUT you need to pass a userid/password pair:
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'myName',@useself=N'False',@locallogin=NULL,@rmtuser=N'SYSDBA',@rmtpassword='anytring'
6) you do need a couple of special options to be set to True: Collation, Allow inprocess, RPC, RPC Out.
Yes it works. And it saves at least a couple of MB ram as you haven't an always-run service.
Last but not least, thanks to the ibprovider.com developers that help me to sort it out.