Hahaha.. you can imagine that all these threads would go to Kmemo maintainer rather than me!
The actual problem is RichEdit component.. or I should say RichEdit components. It's because all other systems has pretty poor support of layout abilities for their RichEdit components as well.
In the end RichMemo (RichEdit) component is very nice component to show something simple, like End-User agreement or a help for an application.
When it comes to typographical tasks, such as the one you need. It's really not powerful enough.
BUT, in the most recent versions of RichEdit (Windows 8 or so), Microsoft did add the feature to wrap around a pasted image. But these features are not available in Windows XP for sure.
KMemo, is by the only, open source (and thus free) FreePascal and LCL friendly component. It's not relaying on system APIs, like RichMemo does, thus it doesn't have these limitations.
There're some others components, i.e. TSynEdit. But they're more "code-editting" oriented and are not useful for complex scripts processing (like you need).