So the "value" print right with Serial.print but when I try to print it to LCD the value is now 0000
Gee, I wonder why...
Serial.print("Saved value: ");
Serial.println(value);
strcpy(value,"0000");
Since you step on value as soon as you send it's contents to the serial port, what happens with the contents of value next is NOT a mystery.