Seems like you have tried all the obvious fixes first. The problem may be on the Logic Board where the Home Button makes contact with the Logic Board. Has this device suffered water damage? I would take the device apart and focus on that area where the home button communicates with the logic board and try cleaning that area thoroughly with Alcohol. You may have some debris in there thats jamming the contact up.