Why does the CD stamp affect the callback, and what is it for?
The purpose of the CD stamp is to let NeroAPI require exactly the disc that the CD stamp describes. E.g. for multisession discs, you don't want the user to insert any disc, but the one, you have imported the session from.
Is there a way of timing out so that NeroBurn returns with an error if the CD has not been inserted after a certain period?
No. You can add a timer by yourself and if the timeout is reached, return FALSE in the idle callback, which will let NeroAPI cancel the burning operation.