You simply can't put the header code into the css-file. The header is php-code, and is actually a small program, while the css is just css and will never get executed.
The problem is that in your css you need the complete url of the image, wordpress directory and probably hostname too. The code in the header.php does this for you.
If you want to do a css-only image, that is ok as long as you put the complete path (including the path to the theme directory) in your css. This makes it impossible to package your theme as a bundle and put it on another site, which is the reason it was not put in the css.