Well, this is a mile away from where a Z offset should be, so there's gotta be another issue besides the value. Does your printer have an LCD? Checking that the printer has the Z value correct is much easier if you have an LCD that's showing your current position. So the way the Z offset works, let's say when your probe homes your Z, the nozzle sits 0.3mm higher than the bed. With the Z offset correctly set in firmware via M851, the LCD should display the height after homing as Z = 10.3, because the height at which it homes should be considered Z = 0.3 and it moves up 10mm after homing Z. Most importantly, if the Z offset is set correctly, then after homing you should be able to manually move the Z axis to where it displays Z = 0 and that should be right where the paper test would get you.
If you don't have an LCD, M114 should give you the current position.
So if you have M851 set to -12, when you home Z it should say Z = 22, which would likely be very bad because when it starts to print it'll try to start at Z = 0, which is probably 10-12mm UNDER your bed.
If the Z value isn't displayed correctly, there may be an issue with how the offset is being saved. To restate some of slippy's instructions:
1. Set M851 to how far you want to move your Z = 0, start with something like -0.1 or -0.2
2. Save this value with M500
3. Check that it saved correctly with M503
4. Home all axes with G28
5. Check your current Z value to make sure the offset was applied
6. Move the printhead to Z = 0 and see if it is at the same height it would be if you were leveling with paper
Regarding the prints starting at 0.2mm, I think you might just be a little mixed up. When printing a layer that is 0.2mm high, which is a perfectly normal first layer height, the nozzle extrudes the filament at that height of 0.2mm, it doesn't go to 0.0mm and extrude. It is important to note though that this is 0.2mm relative to what the software believes Z = 0 to be, which is what you are setting with the Z offset. You can, for example, have the software think it is printing at 0.2mm when in reality it is only 0.1mm above the bed, which creates a more squished-down first layer that will be slightly deformed but will stick to the bed really well. You can also totally goof your Z offset and have the software think Z = 0 is below the bed or up in the air, it's just whatever value the Z probe determines plus or minus the offset you give it. Part of dialing in your Z offset will be finding that sweet spot where you get good bed adhesion based on your setup.