Yes. It will still be downloaded and function correctly as a tracking gif, even with
display:none. You can test this for yourself by adding an
onload attribute to the image:
<img src="image.gif" style="display:none" onload="alert('Image loaded!')" />
If you make the image's
src attribute blank, no image is downloaded, so the
onload event never fires (live demo):
<img src="" style="display:none" onload="alert('Image loaded!')" />
The reason that the image is still downloaded is that
display:none simply "prevents the element from appearing in the formatting structure", in the words of the W3C spec for the display property.
img tags styled with
display:none to pre-cache images before they're ready to be displayed.
Also see the responses to "Does a element with display:none set in css still get downloaded by the browser?" over on Stack Overflow.
As mentioned in feela's answer, though, there's little reason to hide a 1px square tracking gif when you can move it somewhere that won't affect your layout.