Like I wrote to
game mechanic thread based on a post by Paul, crossbow penetrates shield if
damage > 30 + 3 * (shield armor)
So basically 20 resistance will make you fairly safe from even +3 arbalest with +3 steel bolts (need over 90 damage to penetrate that), but speed bonuses might still cause you to get penetrated.
Out of all shields the following have resistance 20 or above:
Elite Cavalry Shield (21)
Knightly Heater Shield (33)
Knightly Kite Shield (31)
Plate Covered Round Shield (61)
Huscarl's Round Shield (20)
Steel Buckler (62)
Round Steel Buckler (40)
Steel Shield (74)
+3 on a shield increases resistance by 4 I believe though, so many others pass this limit. Regardless, it's a fairly arbitary limit anyway due to speed bonuses and air friction. Yet, to be safe Knightly Heater Shield, Knightly Kite Shield or any of the metallic shields give you resistance to at minimum 123 damage which is 90 damage shot with 37% bonus from speed. At under 15 shield resistance (30 + 15*3 = 75 damage) you start to seriously risk getting your shield penetrated by a bolt.