You are correct. HL2 as well as many themes do use colored backgrounds. This is for many reasons.
1. Transparency will create a small white outline if your edges contain transparency (which all transparent image do duh). The only way around it is to make sure your edges are solid color. IE interprets semi tranparency (anything less than 100% transparent) as white. Go figure. It's been reported that it's fixed in IE7 for vista using PNG's. If that's the case then the world will be using PNG's and kill off gif's except for animation.
2. To force unskilled admins from changing the original design of the theme. Some designers don't like people mucking around with their work. This prevents lamers from changing very minute details and then calling it their own.
3. The overall text colors of a theme might not work with a different scheme of colors. So again to prevent people from making a mistake the designer makes it a solid bg to basically say "hey, don't change this image because it could throw off the entire site." So in effect they are doing it for your own good.
4. Using a solid background color will smooth out or preserve the quality of the image. Generally it's only done with gifs. For JPG's it's because a background color is required. GIF's and PNG's are the only formats that don't require one. If one is not supplied by default photoshop will make it white.
If you have the skills to change a "hardcoded" background color in an image then you'll probably be good enough to take it where ever you want.
Always remember that if you change a theme at least keep a credit to the original author within the file even if commented out, leave it in there.
The HL2 theme was original done by DestineDesigns.com