A: 

Here are a coupple of links that I think will help you:

http://codex.wordpress.org/WordPress_Lessons#Customizing_Templates
http://codex.wordpress.org/Template_Hierarchy

I have a few questions:

  1. Why do you have the same code in both tempaltes? Frontpage will never be the same as a single post.
  2. Why do you choose to use blog.php instead of single.php? When you open a Post, WP will automatically use single.php.
  3. Have you sett in settings which page should be the front page?
  4. If you are creating a template, then you must have template name at the top of the file (missing in blog.php)
Steven