The piece of code that you posted is actually a template. A bare-bones level of how everything works is, you start a new post, when you hit publish, and go to your homepage, index.php is called. Based on what you specify in you settings, it grabs the last x posts. When you click on a post title, single.php is called.
Side note: My code above is not 100% correct, my apologies. The correct code is:
// continue through authors
The orginal code would change the background based on the latest author, so this included the main page of the blog. In your code block you posted in #14, the line:
echo "<h2 class=\\"entry-title\\"><a rel=\\"bookmark\\">".get_the_title(). "</a></h2>"
is close to permalinks, you just forgot to start the link. You need to change it to:
echo "<h2 class=\\"entry-title\\"><a href=\\"".get_permalink()."\\" rel=\\"bookmark\\">".get_the_title(). "</a></h2>";
You can create templates for specific posts, post categories and author specific. This page mentions the author part: http://codex.wordpress.org/Author_Templates#Which_Template_File_is_Used.3F since you were just 0changing the background image, I detailed how to do it via header.php versus setting up author specific templates. I would have to think a minute, but at first glance, you'd have to edit header.php anyway.:)