5
Smarty template variables are not involved here.
By "core classes", I was referring to using the various facilities built into XOOPS for retrieving information from the database.
The first example I posted queried the users table explicitly. This is a bad idea because if the users table structure gets changed in a XOOPS upgrade, as it did between XOOPS 2.0.x and XOOPS 2.2.x, then the query might stop working. But by using the member handler class, it's much more likely that the code will remain compatible with future versions of XOOPS.
Failure to make proper use of the core classes is probably the main reason that many modules written for XOOPS 2.0.x are not compatible with XOOPS 2.2.x.
In your case, you may not have a choice. The mydownloads module may not provide any way to access the database tables except by explicit queries. But as long as you're only accessing the tables specific to the mydownloads module, and not the core tables, then you shouldn't run into problems, unless you upgrade to a new version of the mydownloads module that changes its tables' structure.