The point that seems to be missing from the above is that on Wndows you need a registry entry pointing to the Firebird directory. The FB installer creates one for you, if you install manually then either you have to create one yourself or your app needs to have its own conventions as to how it finds the DLLs. Sometimes setting the FIREBIRD environment variable does the trick. Other times placing the DLLs on the system PATH works.
ronhud was talking about the embedded version. With that one the DLL's need to be placed in the .exe directory. You wouldn't want to spread those files around the whole system or create registry entries (otherwise the whole embedding isn't really useful. imagine multiple installations with different embedded version which all create their own registry entries. YIKES).
But for Firebird SQL < 3.0 the intl and udf directories are also needed and you need to make sure you have the correct fbclient.dll (renamed from fbembed.dll). You can put some of these in a subdirectory but you need to fiddle with firebird.conf in that case. You ALSO need to make sure the bitness (32bit/64bit) of fbclient.dll matches the one of your .exe program (a very common mistake to make). So there are some extra things you need to take care of. And Firebird SQL 3.0+ works a bit different too. And lastly, you should use the correct connectionstring (no localhost or hostname in the string).