well, there is no way you can pick up filename wich will be assigned inside your send port only.
MessageID will always be different from what you can read in your orchestration because when a message after send pipelines comes into send adapter – it already has a new MessageID.
If you really require using the same file name in you E-mail attachment, you can build a file name in your orchestration (you can generate GUID if you want a unique name) and include it into message as yourOutputFileMessage(FILE.ReceivedFileName). Then in FILE send port you use %SourceFileName% macro. Later in the orchestration you just use your in-house built file name to assign it to an attachment.