Sorry ... I seem to have been a bit unclear in my comments.

1. Can't really comment. "it" is a bit vague, especially without any indication of what code you are using
Sorry ... "it" referred to your suggestion of considering TSQLConnector.
TOTALLY UNSAFE (well, if it's at all possible)
This is what scares me.
I am only interested in connecting to MySQL or MariaDB in the context of this discussion ...It seems to me that you can only compile one of:
TMySQL55Connection = Class(TConnectionName);
TMySQL51Connection = Class(TConnectionName);
TMySQL50Connection = Class(TConnectionName);
into your application, so there is no chance of instantiating the "correct" object for the machine in question as the compiler directives around these objects (in mysqlconn.inc) makes them mutually exclusive ...
I don't really understand why these were made mutually exclusive when these units were designed.
If there is no way to do this (connect to any one of MySQL 5.0, MySQL 5.1 or MySQL 5.5), then I'm inclined to duplicate the functionality of these units into my own units in a way that is NOT mutually exclusive ... but I would prefer not to as I loose the benefit of any updates.