For most cases, I would agree with Thaddy. However, it is worth being aware of the issues involved, especially when dealing with large to very large datasets.
In the case of IBX, the additional per field overhead is the space allocated in each row buffer to hold the field and the cost of copying the field data from the comms buffer to the row buffer. If you never access it then that's the limit. However, if the field is (e.g.) a large VarChar (we are talking many KB here) then as each row is retained in its own row buffer, the memory overhead can quickly multiply out (field size in bytes times number of rows retrieved). This can be bigger than you think if UTF8 encoding is used given that the field data size is then set at four times the character size (almost always total overkill but you cannot make such an assumption when allocating the row buffer).
IBX used also to have a performance issue every time it needed to extend the internal set of row buffers (another good reason to avoid unused fields). However, that issue was resolved when the improved buffer management scheme was introduced in IBX 2.6.0.
In these cases, using a character Blob can be advantageous over a large VarChar. Firebird returns a 64-bit Blob ID for each Blob field and the row buffers are thus kept compact. Only when you access the field do you start incurring the overhead of Blob access. Note that depending on the database page size, there may also be trade-offs in the size of the database itself when you weigh the pros and cons of large VarChars versus Blobs (each Blob typically requires at least one page, while many rows may be held by the same page).
Query complexity can also be an issue with unused fields, and is something you may overlook when querying a View. Some fields can be very expensive to compute and this in turn affects the time taken to open a query. If you don't include in your query (e.g. on a view) an expensive to compute field then database engines are often good at optimising them out and hence reducing the time it takes to open a query.