CSSのみで画像を背景にベターっと表示するサンプルを作りました。
背景と言っても実際に配置するのは img要素 です。

※IE7~8は、画像よりウインドウが狭くなった時、中央配置されません。
※IE6はアスペクト比が崩れます。
※Media Query と min-*** に対応すれば、IE6~8でも意図した動作になるはずです。

HTML

<!-- 画像のサイズは指定しない -->
<div id="bg-fill-image">
<img src="http://placekitten.com/g/1024/768">
</div>

<div id="wrapper">
<!-- 通常のコンテンツはここに書く -->
</div>

CSS

html {
	/* 内包する要素に関わらず高さを保持する */
	height: 100%;
}
body {
	margin: 0;
	padding: 0;

	/* 内包する要素に関わらず幅・高さを保持する */
	width: 100%;
	height: 100%;

	/* IE6対応 */
	_overflow-y: hidden;
	_overflow-x: auto;
}
#bg-fill-image {
	/* 背面に固定表示 */
	position: fixed;
	top: 0;
	left: 0;
	z-index: -1;

	/* 内包する要素に関わらず幅・高さを保持する */
	width: 100%;
	height: 100%;

	/* 画像サイズより小さくならないようにする */
	min-width: 1024px;
	min-height: 768px;

	/* ハミ出した部分は隠す */
	overflow: hidden;

	/* IE6対応 */
	_position: absolute;
}
#bg-fill-image img {
	/* line-height 消し */
	display: block;

	/* この指定でアスペクト比が変わらないようになる */
	min-width: 100%;
	min-height: 100%;

	/* IE6対応 */
	_width: 100%;
	_height: 100%;
}
/* 画像の幅よりウィンドウの幅が狭い場合 */
@media screen and (max-width: 1024px){
	#bg-fill-image {
		/* ウィンドウの幅/2 - 画像の幅/2 */
		left: 50%;
		margin-left: -512px;
	}
}
/* 画像の高さよりウィンドウの高さが狭い場合 */
@media screen and (max-height: 768px){
	#bg-fill-image {
		/* ウィンドウの高さ/2 - 画像の高さ/2 */
		top: 50%;
		margin-top: -384px;
	}
}

/* 通常のコンテンツを囲うラッパー */
#wrapper {
	/* IE6対応 */
	_position: relative;
	_width: 100%;
	_height: 100%;
	_overflow: auto;
}

参考にさせていただいたサイト


ツッコミなどありましたら、コメントまたはツイッターでお願いします。