I think that you are using 4 bit mode.I will test on my board ,but with atmega8535 and in BASCOM AVR ,and post a .hex file so you can try .
ports: Pin , Rs = Portb.0 , E = Portb.2 , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7
hex:
:100000000C942A001895000018950000189500001F
:10001000189500001895000018950000189500002C
:10002000189500001895000018950000189500001C
:10003000189500001895000018950000189500000C
:1000400018950000189500001895000018950000FC
:10005000189500008FE58DBFC0E4E8E34E2E84E0E4
:100060008EBFD4E0F4E05F2EEEEFF3E0A0E6B0E068
:10007000A89584B7082E877F84BF88E1992781BD22
:1000800091BD88278D933197E9F70E947700662408
:100090000E946900E1E0F0E00E946E00EAE0F2E018
:1000A0000E9460000E946700ECE1F2E00E946000A4
:1000B000E1E0F0E00E946E000C944800F894FFCF5D
:1000C0000E940101802D11F05AD0FACF089580ECE2
:1000D0005CC081E05AD008D080E857C088EE93E039
:1000E00081D03197D9F7089583E099277BC08AEFB3
:1000F00090E00E94F200BF9ABE9ABD9ABC9ABA9A4A
:10010000B89AC09885E090E00E94F200C298C79823
:10011000C698C59AC49AC29AEF93FF93E4ECF0E0B4
:100120000E94E600FF91EF91C29859D0C29AEF93D6
:10013000FF93E4ECF0E00E94E600FF91EF91C2989B
:100140004ED0C29AEF93FF93E4ECF0E00E94E600F9
:10015000FF91EF91C29843D0C498C29AEF93FF9356
:10016000E4ECF0E00E94E600FF91EF91C29837D0F6
:1001700088E20BD08EE009D086E007D00895C09ABF
:10018000829505D004D02BD00895C098F9CF8595DD
:1001900010F4C49A01C0C498859510F4C59A01C0A2
:1001A000C598859510F4C69A01C0C698859510F437
:1001B000C79A01C0C798C29AEF93FF93E4ECF0E0AE
:1001C0000E94E600FF91EF91C29808953197F1F7F0
:1001D0000895689462F80895E89462F8089581E0BB
:1001E00090E000C0EF93FF93EE27E82BE92B31F06E
:1001F000E0EDF7E03197F1F70197D1F7FF91EF913B
:100200000895C895319600200895A0C2BBB46170CE
:1002100063BAB820BE6F70BF61BB00002020BE6F04
:0A02200020706FB26FBFB8BA610022
:00000001FF
The LCD is in 4 bit mode.RW to -/gnd/.if is not working chek cables or LCD
If you are using pony prog for programming software ,you can not program fuse bits automaticly.