I have an Outlook 2007 rule which copies certain outgoing messages to another folder -- how do I automatically mark these messages as "read"?

You will need to enable Macros for the following code to work. Under Tools > Macros > Security change to 'Warnings for all macros' or 'No security checks'

Click Tools > Macros > Visual Basic Editor

Copy & Paste the following:

Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
    Item.UnRead = False
End Sub

That's it! (Along with your existing message rule)