Trouble using lcd.readButtons() in RGBLCDShield library
IMO, your post doesn't provide enough information to allow definitive problem diagnosis.  

Why do you say noInterrupts(); at line 5?  Some versions of the Wire library might be interrupt driven[1].  If interrupts were off, such a library wouldn't detect any button presses on a TWI-interfaced shield like Adafruit's RGBLCDShield.

[1]: Per arduino.cc's WireLibraryDetailedReference page,  “"The AVR TWI is byte-oriented and interrupt based...." (section 21.6 on p. 224) ... The TWI module sends an interrupt when it finishes, to notify the processor of the change in conditions ... However, notice that the Wire library has blocking I/O. ” [Ie, the usual Wire library doesn't take advantage of TWI interrupts.]