I recently encountered an issue that may or may not be well known: apparently Drupal modules and themes can't have the same names. If they do, there will be at least one naming collision.
Drupal's image module failed when I tried to use it to upload images to a Drupal installation at a Powweb.com hosting account.
After some digging and searching, it turns out that Powweb's base version of php.ini does not include setting the 'upload_tmp_dir' variable. Trying to set that using Drupal's settings.php or in .htaccess didn't work (discussion). Instead, I got the error described here.
The following is a Drupal 6 sample module showing how to encrypt a MySQL database column. Note that there are several cavaets:
1. This was only tested with 6.8; it might not work with other versions.
2. The sample table used only contains one row for simplicity; modifying the database code for your application is left up to you.
3. The secret key is saved in the module file; you will probably want to use a more secure method.
4. And, of course, ensuring that your MySQL installation and traffic are secure is up to you.