won't Utf8ReverseString decrease performance signifficantly?
Decrease performance compared to what? Compared to a handcrafted assembler routine? Probably.
Compared to not having a UTF8RPos? That would be a significant increase in performance.
If you find it too slow, then by all means apply optimisations... but here on simple strings it returns results instantaneously. Or, as Thaddy suggests, use a different algorithm that avoids UTF8ReverseString if you find a significant lag in using it. However, a different algorithm would probably duplicate some of the code underlying UTF8ReverseString anyway.
Working with multibyte endcodings is necessarily an order of magnitude or more slower than working with single-byte ANSI strings, however you do it.
Increasing string encoding complexity means more operations, more data pushed through your cpu..., i.e. a longer time taken (whether microseconds or milliseconds) for the routine to complete.