As ASerge writes, it is a difference of type.
Pascal is a very strongly typed language, so helpers defined for one type are not magically defined for another type, even if the types are simply aliases for each other.
TCaption is an alias for TTranslateType, which is an alias for String.
So the cast String(Memo1.Text) is quite safe, since fundamentally they are the "same" type.
But to the compiler they are distinct types (notwithstanding their equivalence), and a helper defined for String is not thereby a helper for TCaption.