When using LCL, you are offloading most of the work to the backend toolkits (Win32, GTK2 or Qt), and they obviously know how to handle Right-to-Left languages. So when using FPImage and FreeType directly, it seems there is an extra step required - note my post about
data order (eg: text string) versus
display order. The LCL backend toolkits obviously do the display order work for you.
What I do find weird in your output of FPImage+FreeText is that you only see rectangles. With AggPas output I at least see the correct font glyphs, just not in the right order.
[edit]
I did some more google searching. FreeType is about extracting glyph information from a font file and applying hinting, kerning etc. Text layouting is done by another library or your application. Here is some FreeType information about various text layouting methods and what steps are required. This link takes you directly to the Right-to-Left text layouting information.
http://freetype.sourceforge.net/freetype2/docs/glyphs/glyphs-5.html#section-4