If anyones interested I found the answer in the end from the author of Lucky Patcher. He said LP doesn't resign the APK. It patches the odex files or it patches the app within the Dalvik cache therefore no signatures are changed and the APK remains untouched.
He also offered some advice to prevent lucky patcher working in this way which is to put the LVL code in a jar file somewhere else such as in the assets folder or the resources folder and call the code from there. This just means that to crack the LVL code the cracker will have to patch the jar and then resign the code.
So for those of us using Google API in your code which verifies the signature of the app we have what seems like a fairly solid method of copy protection. Until they find a way around this of course. Which no doubt they will.