BlueprintImplementableEvent function definition changed

Decorate your string argument with a UPARAM macro, and make it a reference. This should make the errorMessage appear at the expected place in the BP editor. UHT doesn’t like exposing strings as values, but prefers references, which explains the first part of the problem. Undecorated references appear as return values by default, which explains the second part of the problem.

So, if you declare OnError like this instead:

UFUNCTION(BlueprintImplementableEvent, Category = "AMQPConnect", meta = (ToolTip = "Fired when error occured. After that connection will be closed."))
void OnError(const UAMQPAbstractConnection *connection, UPARAM(ref) const FString& errorMessage);

…everything should hopefully work out the way you want it.