I don't have any other problems with them. I've always disliked their ability to pop things out under certain conditions, but it's been discussed many times before that it's one of many possible nessecary evil designs. They've been reliable otherwise when used appropriately. Plus the feature of continuing items along a path if their current exit is full have proved to be quite useful in my builds.
P.S. In case you are having the same problem I did until recently; If you are having trouble shift-clicking to remove gates and wires from pipes, remember that you
must have an
open hand to do this. I always wondered why that ability was inconsistent until I re-read the wiki page stating that you must use an open hand.
P.P.S An unrelated thought came to my head just now. The one problem with the above mentioned newish feature that sends items past exits with a full inventory, is that these "exits" have to dump directly into a block. If the "exit" path is more than 0 pipes long, it will still go down the path. I've often wanted to extend these "exits" and still have the ability to pass over an exit if it dead-ends in a full inventory. It would be awesome if there was a gate that could modify a pipe to tell it that one of its sides dead-ends in a full inventory.
Code:
I---A---O N
| W E
| S
B
[V]
I = pipe system input
O = output
A = gate A
B = gate B
[V] = inventory block
In the above pipe setup, gate B could be set to "If inventory full, red pipe signal", and if it were an available option, gate A could be set to "If red pipe signal, mark South side as full". In a high-traffic pipe system, this would suffer from the delay of the red pipe signal, but would be better than nothing.