I'm going to assume that the command for your report is actually more complex than what you've posted. I would try this:
1. In the command, create the command parameter as a number and turn on the Multi-select or Multiple Values option for it. (We'll edit this in the main report to configure it correctly....)
2. Change the last line of your command to:
where ({?CoNbr} = 0 or cpy.Company in {?coNbr})
3. Create a second command that will provide the values for your paramter. It will look something like this:
Select 0 as Company, '*All' as Name
UNION
Select cpy.Company, cpy.Name
from LSDEV.dbo.APCOMPANY cpy
order by 2
4. Edit the {?CoNbr} parameter in the MAIN REPORT. Set it to dynamic and point it to the command that you just created - value field is Company and display field is Name. When you run the report, the list in the parameter should appear in alphabetical order by company name with "*All" at the top.
-Dell