If in and out transfer rates are set to 0, and the budget analyzer still shows flow, then the reason is the following: The budget analyzer calculates the boundary flow at locations with boundary conditions - thus including nodes with a transfer BC and 0 transfer rates. To get the flow, it solves the flow equation backwards, i.e., it uses the resulting hydraulic heads and calculates the sink/source term from them. Now as we all know the solution is never perfect - depending on the error criterion we have chosen we might have hydraulic heads that do not perfectly fulfill the conditions of the flow equation. This means that even with a boundary flow 0 used for the forward calculation, the backward calculation may show some boundary flow. Conductivities in the discrete element are typically very high, so even from a small remaining error in head a relatively large flow may result. To reduce this error, you may use a stricter error criterion, either by lowering the error tolerance or - if this only concerns a small number of nodes - by using a maximum norm.
On the other hand, some averaging may be involved in the use of transfer rates may occur (but not with 0 for in and out): FEFLOW has to decide whether the flow is 'in' or 'out' - which is known on a nodal basis. Transfer rates are defined on an elemental basis (except for discrete elements). If we look at two neighboring nodes, and one shows inflow, one outflow, then for the elements in between only one transfer rate is used. If the average condition is 'in' then the in-transfer rate is mapped to the equation for both nodes and vice versa. Therefore locally it may happen that there is a little bit of inflow at certain nodes even if the transfer rate is set to 0. In these cases, a constraint has to be applied.