I have a program code that controls outputs based on PWM values. Nothing extra. I compiled this program in Arduino IDE and uploaded the resulting .HEX file to a NANO via ICSP. So far it worked perfectly, I uploaded it in AVRDude, set the Fuse Bits, loaded it and the device worked. But recently I got several Arduino Nano's that although they are Atmel328P like all the others, but the program doesn't run on them... I set all the Fuse Bit the same way, the program goes up without error, but the controller doesn't do anything.
In other words clones. As far as firmware goes, who knows but I doubt they have messed around with that, and the hardware implementation is a no brainer. ICSP should work. Can you show how you have connected it all? A diagram would be good, even a hand drawn that you upload a photo of. The least preferable is a photo of the actual setup, you'll know for yourself if someone gives you such a photo.
"Derivatives", probably; The Chinese vendors have done amazing things to the Nano Design.
There are rumors that some of them have counterfeit ATmega chips, and some have LGT8F328 chips, which are "somewhat compatible" (but not programmed via ICSP.) (and alas, I would not be surprised if there were some with LGT chips re-labeled as ATmega chips )