1602 : problem of brightness ! Please Help Me !

A couple of things.
The AVR has analog input pins but doesn't have any analog output pins.
All the AVR output pins are digital and the analog input pins can be used a digital outputs.
The Arduino analogWrite() function outputs a digital PWM signal not an analog voltage.

The shield you have uses analog pin 0 as an input to read the keyboard buttons,
so you shouldn't re-wire the pins use analog 0 as a digital output to drive the lcd
as you explained in your first post.

By hooking up the power backwards it possible that something was damaged on the shield.
It is also possible that if you used A0 as an output and pressed a button, that the A0
pin could have been fried.

A few questions about what you are seeing now:

  • Are you saying the EXACT same configuration,
    (shield plugged into Arduino), EXACT same sketch that used
    to work, now has no or a very dim backlight?

  • Is the backlight very dim or completely off?
    Turn off the lights to see, if necessary.

It is possible that the backlight transistor was fried.
From looking at your board, it looks like it should be easy to fix.
Can you read the part number of the transistor?
It is next to hole over by the contrast pot.
Also what markings are on the part next to it?
I'm assuming it is a resistor but what are the markings?

Given the lower power backlight requirements of the 16x2 backlights,
there are some options for repairing the board, should it be a transistor issue.
But first we need to know what transistor the board has.

--- bill