Most fabs optimize silkscreen by removing it over pads (plus tolerance).
In other words, over exposed copper...
Put soldermask under the silkscreen and you'll be alright.
Example: place text on silkscreen, normal size. Copy the text, set it to bold (precisely, if possible: set it to ~3 mil expansion, or whatever the silk-to-solder alignment tolerance is), and set it to negative. Make sure there is no other soldermask opening under the text.
I like to do a similar thing, but not so much for appearance as for effect: using negative text in copper, positive text in silk, the text is highly readable, and sits in the depression of removed copper. It feels flat and level, on 1 and 2 ounce copper fabs. If this is placed over an electrically important area (say, GND vias), it's an indelible mark that can't be scraped off the PCB without rendering it nonfunctional.
BTW, beware of raster graphics. I've had fabs optimize that out before -- because it's drawn by pixel, and each pixel is, say, 1 mil across, well below the minimum feature size, even though all of them together is an inch across or whatever. Converting rasters to traces or polygons, or using vector in the first place, is preferred.
Tim