Hi,
When we script, we allow error codes like this to be considered a success if we include a verbose statement in the Return code (keeps these systems from showing up on the DS in the 'computers with failed jobs' query clean).
Whether you allow the job to continue or fail, add something like '1641 - System requires a reboot to complete install' in the status box on the 'Return codes and Rip and replace options' in the 'Add Return Code' window. That way, if a reboot task is out of the question, you know that the 1641 error occurred if someone calls for help with the application. (You can sort on 'status' to show all 1641 errors.)
Also, be sure to uncheck 'Add to Master return code list'. 1641 is already in the master code list, you just want to return a unique error and verbose status displayed for that particular job.
When doing a large deployment, we find this useful to help sort any issues during large testing or post deploy.
I hope you find this information useful.