When you use the Adafruit_SSD1306 display(OLED_RESET); constructor overload, it causes the dimensions to be set to 128x32. This is the reason for the display looking different. This also causes the library to use less memory. So my suspicion is that you don't have enough SRAM available for that quite demanding sketch, which is causing it to "not work any more".
After a quick look at your sketch, I didn't see any easy ways to reduce memory usage. You might consider switching to a different Arduino board that has more memory.