Hello Primoz Rebec.
I think is not an alingment problem. In 32 bit environment, your pointers shall be aligned.
I think your problem is with pointer arithmetics. If you have a byte array located at 0x60000000 by example and access array[1] or array+1, your address will be truncated cause your missing FB_AD0. If you use memcpy, accessing even pointers, your data should be copied right. By definition, if you access odd addresses in a word aligned memory, your access will fail. You can check it trying to write to an odd address in pflash.
If you need to write to an odd byte only, you shall implement a custom access driver. Read 2 bytes from prior even address, modify 1 byte and write word back again.
Regads