Part of my concern is that I'm using MQTT and am constantly connected to "listen" for published messages coming in. In the past when I've tried to add long delays in my code, it seems that I tend to have more random issues with disconnects. I think the code you posted had a 1 second delay in there? I'm not sure how often that happens (and maybe it really was totally arbitrary), but if I'm constantly checking for a touch of a button it seems like I might have issues with other bits of my code?
EDIT: by the way, if I hook up the ADC pin to a piece of wire and use the bit of code from the library I linked to above, except I remove the (critical, I realize) bits of the code I reference above ADMUX, etc, things actually work pretty well, but they are inconsistent. Basically as you can see in this video I recorded below, things are basically PERFECT, or at least as far as I need them perfect, but over time the values i get out change... I'll get 0 for default state and 10 for touched (ideal), for a while but then I'll test again after letting the sketch run and I'll get 0 default and 1 touched. Or 1 default and 2 touched. Or even once 1 default and 1 touched.
It's frustrating because this is baiscally exactly what I want... just not consistent enough!
https://goo.gl/photos/KQ9qcnWmfgnJEg539