So, one of the things, I started doing was "protecting" my child themes by moving everything out of functions.php. I create a folder called lib or custom with a file called functions.php (contains various functions) and/or child-setup.php (contains things like registering custom post types, custom taxonomies, meta boxes, registering/unregistering layouts/sidebars, theme support, image sizes, and site-wide changes like the moving or removing of post meta/breadcrumbs, etc.).
Then in my functions.php file, I add a few require_once statements with important titles and a death warning not to remove any of these statements. So a theme functions.php may look like:
[php]<?php
/********************************************************************************/
//DO NOT EDIT! EDITING THIS SECTION CAN HAVE SERIOUS RAMIFICATIONS!
// Start the engine
require_once(TEMPLATEPATH.'/lib/init.php');
//Start Child Theme engine
require_once(STYLESHEETPATH.'/lib/init.php');
//Custom Child Theme library
require_once(STYLESHEETPATH.'/custom/custom-footer.php');
require_once(STYLESHEETPATH.'/custom/child-setup.php');
require_once(STYLESHEETPATH.'/custom/functions.php');
/********************************************************************************/
//Add any extra functions, below here! Enjoy!
[/php]
Are there any tricks that you use?