What went wrong:
I tried to make an in-memory copy of a certificate complete with its private key by SaveToStreamPFX followed by a LoadFromStreamPFX. When saving to stream Windows will ask for a password if the private key usage is password protected.
In this way the user only has to enter the password once.
However ... if the private key is not exportable ... it doesn't get exported.
So ... my copy-certificate did not contain a private key.
Problem solved.
Maybe the error message "No signing certificate found", but then again, now I know the problem.

We are glad that you have managed to resolve the issue. Thank you for publishing the result of your investigations here.

The component identifies signing certificates in the CertStorage store by the availability of the corresponding private keys (the store may also contain other, non-signing, certificates that will be simply included to the signature -- for chain verification purposes, for instance). That's why this very message is returned (== there is no certificates with private keys available, therefore there is no keys to sign with).