When I apply the Shrinkwrap modifier, the mesh isn't above the surface of the other like it should be. Plus, when the modifier is on the bottom, it deforms correctly, but then when applied, it is all messed up. How can I fix it?
About the modifier stack:
When a modifier is applied, it has to be applied as if it is at the top of the modifier stack (the first one), as to achieve the previewed result you will need to apply all other visible modifiers as well.
About the Shrinkwrap issue in particular:
A couple of things could be causing this. You could try:
Make sure your target mesh is high enough resolution (enough faces to deform vertices to)
Use the Offset slider
Use the Keep Above Surface option