Whe using the opcontrol options of '--separate=none' and '--image=<app_pathnam>', the profile collected typically shows much fewer samples attributed to the application binary than if you specified '--separate=lib,kernel'.
The change to daemon/opd_trans.c that was made on May 26, 2005 seems to be the cause. If the second part of the following if-statement (in opd_put_sample) is removed, then opreport shows the expected number of samples, regardless of the setting of the --separate option.
if (trans->current->ignored || (trans->last && trans->last->ignored))
Some investigation is needed to ascertain why this change was made. Perhaps it was addressing some other problem, but had the unintended consequence described here.