Examining DC++ source code it seems that (above those methods you mentioned) your source will be re-added only if you do a Match Queue manually or 'Automatically match queue for auto search hits' is enabled. Bad sources (including those who have FLAG_FILE_NOT_AVAILABLE flag) won't be re-added from simple auto search hits... and its probably the expected behavior.
Examining DC++ source code it seems that (above those methods you mentioned) your source will be re-added only if you do a Match Queue manually or 'Automatically match queue for auto search hits' is enabled. Bad sources (including those who have FLAG_FILE_ NOT_AVAILABLE flag) won't be re-added from simple auto search hits... and its probably the expected behavior.