Hi Nick. I added Udp.flush(); right before Udp.endPacket(); but that didn't fix the problem. Here's what the serial monitor says:
Ready! btn_val: 0
Ready! btn_val: 1 << I push the button
shop_status: 0
We're closed. Time to OPEN!getTime() begins!
Moving to sendNTPpacket()!
sendNTPpacket() begins!
memset set!
adding to packetBuffer!
packetBuffer set!
beginPacket set!
write set!
NTP_PACKET_SIZE: 48
packet ended!
sendNTPpacket() ENDING!Back to getTime()!
Current time: 3:39pm
sendTweet() begins!
connecting ...
HTTP/1.0 200 OK
Content-Type: text/html; charset=utf-8
Cache-Control: no-cache
Vary: Accept-Encoding
Date: Tue, 30 Oct 2012 22:39:02 GMT
Server: Google FrontendOKOK.
sendTweet() ENDING!Tweet successfully sent: We're open as of 3:39pm!
Ready! btn_val: 0
Ready! btn_val: 1 << I push the button the second time
shop_status: 1
We're open. Time to CLOSE!getTime() begins!
Moving to sendNTPpacket()!
sendNTPpacket() begins!
memset set!
adding to packetBuffer!
packetBuffer set!
beginPacket set!
write set!
NTP_PACKET_SIZE: 48 << The sketch hangs here