On an 8 bit Arduino like Uno.
volatile int new_value = 65000;
This could create a problem. An int data type can store values from -32768 to 32767. An unsigned int can store up to 65535.
Print the value of new_value in setup (before it is changed). Is it 65000?