I wouldn’t bother putting varnish in front of nginx. Once you turn on the CDN your static files will be served from that anyway and the dynamic requests would be a pass-through from varnish to nginx anyway.
I actually found another program built for vbulletin that was able to cache items for guests and it knocked off a good amount of time.
The caching for guests makes the time a bit off though since it doesn’t display the first byte time for logged in member. I wonder how I can get that down overall. I would love to have it in the B range for members.
I’m not sure how to do sprites, and especially not sure how to do sprites with the vbulletin software.
Improving the cached time for logged-in users is pretty much going to come down to database tuning. If you’re on shared hosting you won’t have much control over it. If you’re on a VPS or dedicated hosting you’ll want to have someone familiar with MySQL tuning to take a look (if you can tune it so the most common operations are cached in the query cache in RAM it should be much faster). If you actually own the hardware, replacing the physical disk the database is on with a SSD will do wonders.