When the quest is complete set a variable and attach a script to the base level conversation nodes in the "Appear when.." or whatever that tab says. Then just tell it to only appear when the variable you set is not set yet... er... allow me to diagram
-BaseNode1- (what he says the first time you see him) - set this one to only appear when iFlag or whatever is 0
-----PC response
-----------NPC gives quest-set iFlag to 1 (so basenode1 wont appear again)
-BaseNode2 - Have you done what I asked? - only appear when iFlag=1
-----PC: Yes (only appear if PC has quest item in inventory)
-----------Thank you here's a holy avenger to show my gratitude - set iFlag to 2
-----PC: No
-----------Well go do it then
-BaseNode3 - Thank you for your help
The first two basenodes will only appear under certain conditions, so they won't be appearing after the quest is completed. Keep in mind that the conversations read down. If it goest off on another path that ends up ending the convo before it gets to a node lower down, it will never get to that node. Thats why you don't need to put a condition on BaseNode3, since it won't happen unless it is unable to show BaseNode1, or BaseNode2. Which in this convo, is the exact case you want it to show it in.