Arduino Nano V3 PWM will not run at 100%.

Doing analogWrite(pin,255) actually does digitalWrite(pin,HIGH)

See https://github.com/arduino/Arduino/blob/master/hardware/arduino/avr/cores/arduino/wiring_analog.c

void analogWrite(uint8_t pin, int val)
{
 // We need to make sure the PWM output is enabled for those pins
 // that support it, as we turn it off when digitally reading or
 // writing with them.  Also, make sure the pin is in output mode
 // for consistenty with Wiring, which doesn't require a pinMode
 // call for the analog output pins.
 pinMode(pin, OUTPUT);
 if (val == 0)
 {
 digitalWrite(pin, LOW);
 }
 else if (val == 255)
 {
 digitalWrite(pin, HIGH);
 }
 else
 { //PWM stuff starts here

I cannot fathom how you could get different results with analogWrite(pin,255) and digitalWrite(pin,HIGH)