Instead of using the Open Arguements, here's what I'll do:
1. Open the form using the where clause and then 'push' the value into a field on the 2nd form or if I want certain code to execute based on this value, make it a function in a module or a Public function on the 2nd form and then call it after opening the form.
ex:
docmd.openform "Form2",,,"[Number to Copy] = " & me.[Number to Copy] & ""
Forms!Form2!SomeFieldValue = me!SomeFieldValue
Forms!Form2.RunSomePublicFunctionNameInForm2
(or if I need to pass a value to the function)...
Forms!Form2.RunSomePublicFunctionNameInForm2 (me!SomeField)
or (to open Form2, add a new record and push the ID value to the field on form 2)...
docmd.openform "Form2"
docmd.gotorecord,,acnewrec
Forms!Form2!ForeignIDField = me!IDField
If I'm utilizing a foreign key on the 2nd form, I may also set the default value of this field to my 1st form (ie. =Forms!Form1!IDFieldName) I'll often set it up like this if it's a subform.
As Allan mentioned, it doesn't make much sense to use the Open Arguements if you don't have other code in the 2nd form to do something with the value that is passed. I personally rarely use the Open Arguements.