What is the best component to use when connecting to a Mysql 5.1.x in Delphi and why ?
I don't use MySQL, but when I can, I prefer dbExpress. It's unidirectional, which makes it pretty fast. Though I haven't done any benchmarking recently.
If dbExpress isn't your thing, I found this list of components for MySQL access.
No other DB components could beat DevArt DB Components, they have MyDac and UniDac, both of them could use direct access to the database without requiring mysql client to be installed on the client machine, beside they offer fast performance and high quality compared to other components
Data Access Components for MySQL
Universal Data Access Components
and check the pages above to know why ;-)
Don't forget that MySQL's client dll are GPL-ed, and if you are using it to connect to server, your app must be GPL-ed.
There are alternatives. Components that connect directly to MySQL skipping GPLed dlls. DevArt has such components (direct and dbx), and there are free components that can connect directily on tory.net.
Devart and microOLAP both offer components to access MySQL databases. Devart also have dbExpress drivers for dbExpress users.
Bob Swart has published Delphi for Win32 VCL Database Development on Lulu, if you need any help.
You should take a look at AnyDAC, supports MySQL and a lot of other databases.