For example, TSqlFragmentVisitor has virtual method for visiting DataModificationStatement - ExplicitVisit(DataModificationStatement) which can be overridden and "used" for whatever reason in an app... The thing is - it is never called. There is no code invoking ExplicitVisit for this abstract class and many others. These methods are stillborn and it takes some time to realize that the code does not work and to discover why. For concrete descendants of DataModificationStatement (InsertStatement etc.) it does work as expected.
Consider removing such stillborn methods from TSqlFragmentVisitor or mark them sealed or start invoking them.
Also it'd be great to improve documentation: please elaborate scenarios in which ExplicitVisit method should be used instead of Visit, when TSqlConcreteFragmentVisitor should be utilized.