If you look closely at the documentation for Struts 1.2.9, you will see that the struts DataSource utility is listed as "deprecated". In version 1.3.5 and above, it's been removed entirely. So, one reason not to use it is that it limits your ability to upgrade to a later version.
The main reason it's not recommended, though, is that it violates the MVC
pattern. Database access belongs in model classes, but the Struts Datasource utility requires you to get the DataSource in an Action class, which is a controller class, not a model class.
The recommended means of accessing a Datasource in any
Java EE web application is to use the application server's utilities to create a JNDI DataSource and then use a JNDI lookup in your code to retrieve it. The Tomcat documentation has information on how to do this. It's also discussed in
this thread.
Regarding your "Class not found" problem, I believe your assessment is correct: Both the DBCP jar file and the MYSQL driver jar file must be loaded by the same classloader. So, you must either have both jars in the application class path, or in the server class path, but you can't have one in one path and one in the other.