Greetings Dhanu,
1. When you report Scrap at Completion, an IS transaction is written to the Cardex, and a record is written to the GL, to represent the write-off of Material and Labour costs. Nothing else needs to be done as far as the system is concerned. It is assumed that, physically, you're throwing away the scrap. Scrap is scrap, it is not a recoverable product in itself (yes, I realize this is arguable, depending on the process involved, but logically, scrap is scrap).
If you sell your scrap, then an SO of some type could be used to make the sale.
2. In this case, you seem to be talking about a recoverable product. Logically, this is not scrap, it is, as you say, rework.
Here is what we do for rework:
a. Don't Scrap the quantity at Completion, Complete it normally (populate inventory for Parent Item).
b. Create a new WO (we use a different WO Type [WK] for Rework) for the necessary quantity.
c. Issue the quantity of the Parent Item to be reworked to the WK and remove any Raw Mats that are no longer necessary (for instance, if the Bolts used in the Assembly are reusable, you don't want to Issue them again). In this way, the cost of the original Item will be added to the WK costs (you could Reclass the Parent back into its Raw Mat, but I prefer to avoid extra transactions).
3. Use either the Reference or Parent WO fields on the WK Header to reference the original WO (either is searchable in the Shop Floor Workbench, I happen to prefer the sound of "Parent WO").
Hope this helps some...