Multiple emails and attachments, reusing memory stream
Basically it is ok, to create a new MemoryStream 3 times, but I have to ask, why you don't create one Attachment adding it to each of the emails like so  

var attachment = new Attachment(new MemoryStream(document.Draw()), "OrderForm.pdf");  
useremail.Attach(attachment);
vendoremail.Attach(attachment);
internalemail.Attach(attachment);