This is true if the specific page exists in a vacuum. If the logo file is cached on the first visit, the HTTP request will not be sent when viewing subsequent pages featuring the logo. This is of course true for the CSS as well (assuming an external CSS file), however, if all the graphics on the website, not all of which is likely to be present on each page, are created using CSS, the user will have to download a much larger CSS-file on the first visit. A solution could of course be made in which the CSS-file served is generated based on which graphics are going to be displayed on each specific page, with subsequent CSS files being served with additional CSS if additional pages require more CSS graphics, on a session-basis, but I would consider this slightly overkill.
As mentioned, if you really want to get rid of the HTTP request, an SVG image loaded as part of the page code would be a much more straight-forward approach.
Another alternative could be to use sprites for the graphics, but that's another matter entirely.