I just added a fan to my printer because very small layers seem to come out very badly. For example, the 5mm PLA cube that's the top level of the test shape shown below. Watching closely, I can see that the newly-extruded fiber is pushing the previous layer(s?) around pretty freely. And when the object is finished, the little top cube is bulging, rounded, and still soft to the touch.
The 2nd-to-top level of the object is also quite small and quick, but often comes out nicely (if anything, it was better before I added the fan).
The fan is a squirrel-cage with about a 2.5cm square outlet, pointing at the nozzle from about 5cm away, running full speed. The extruder is a Mk9 from http://www.makergeeks.com/duexretopr.html.
I also tried telling pronterface to wait if a level was too brief, but that setting seems not to do anything.
What else can I try? It seems like this is a not-enough-cooling problem, but perhaps something else too?
See my answer to this question and pay particular attention to my suggestion about a minimum layer print time. I'm not sure if all slicing engines provide this option, but I know MakerWare/MakerBot Desktop and (possibly) Slic3r allow this setting.
Basically, when you're extruding smaller features like this, the previous layer(s) are still very hot and possibly very pliable. So, as your nozzle moves around above the previous layer, the nozzle may (and probably will) push some of this molten plastic around. Chances are you can see it to a certain degree while it's printing. You can definitely see this in a most drastic state if you print a tall and small diameter cylinder. You'll notice that the part will become almost exponentially unstable the higher it goes.
By increasing the time your printer takes to print a single layer, you are allowing the previous layer(s) to cool closer to the ambient temperature of the build space, and hopefully not as molten.
Please refer to this calculator or a similar one for material cooling times. For a standard shell setting of about 2-3 (0.4mm nozzle) will yield about 130sec to cool down to room temperature. I would recommend (for ABS/PLA at least) about a 15second minimum for each layer, possibly longer depending on the size and spread out of the features.
Also note that this can be cheated by simply printing multiple items in the same build plate with the same heights (ie. multiples of the same part). Naturally, it will take longer for the machine to print the rest of the parts and therefore allow each layer to cool slightly before being printed over.
Again, some slicing engines have an Active Cooling setting. I don't personally have this option setup on my machine, but I believe it regulates the flow of air directed at your nozzle (usually by use of a mounted fan). This can help cool the layers a bit faster. With ABS, this might result in some pretty bad warping mid-print.
Try bringing down your feedrates to provide the printed portions of the current layer more time to cool if the above options aren't available. Note that you might also bring down your hotend temp to shorten the time it takes to cool the plastic.
All else fails
My only other suggestion is stated above, try printing duplicates on the same plate. My diagnosis is that the previous layers aren't cooling down enough before the next layer begins.