The current conditions use 'Exists' triggers. From my understanding, this means that if Fabio exists anywhere in the game he will attempt to interject. However, if he is not in the party the dialog terminates.
Would it be better to use 'IfValidForPartyDialog' triggers, as has been done with Imoen? I've modified my own files to reflect this and the dialog proceeds through without a hitch - I get descriptions of all three suspects and can finish the chain.
The file attached to this post is my own 'fixed' version of the .D file from the /BGT/D subfolder.