Seeing your code might help to clarify things, but based on my interpretation of your post, one way might be to pass the value if it exists, and if it doesn't, then you don't pass anything. When checking the OpenArgs property, either it contains a value or it does not. If it does, you use it as you already are. If it doesn't, you take the alternate action but it's not clear what that is. Perhaps it is to open the form in data entry mode (open as DataEntry) in order to create new record?
You could also create a custom property for the opening form and set its value in the calling code, but I don't see any reason to make this more complicated. Even if you need 2 or more values passed to OpenArgs, it would be simpler to pass a comma separated value list IMO.
The more we hear silence, the more we begin to think about our value in this universe.
Paraphrase of Professor Brian Cox.