Generally, if you use Application Cache, then use base64 really is no need. It's like arguing to add 1 or 2 HP in the engine for 500 horses.
Thus, getting uncomfortable in situations with sprites for a few different elements.
When using Application Cache, the browser asks at first only the manifest file and if it changed, it starts to send requests if-modified-since for each file.
Now, let's calculate: let's say you have pictures/icons at 20KB * 10 PCs = 200KB
In base64 the size will increase by 1.37 = 274КБ + weight of the rest of the CSS.
I.e. if you change 1 file, you will have to reload 274КБ, at least.
Now what happens if you just cache the images, the overhead of the HTTP request (headers) — 0.15-0.3 KB
a total of 10*0.3 = 3КБ + 20KB new file = 23КБ. But there is an overhead on the network (keep-alive) 1*DNS Lookup + 1*Connect + 10*Send/Receive.
— Although I, for one, love this trick with the reduction of number of queries — in General, we have to proceed from the task — where it fit, and somewhere akin to saving on matches.