Ok, I have incorporated the suggestion for duplicates, but I am getting a couple of odd results, not sure why. If a Multileader has a block with only one attribute, I am getting "misplaced dot on input" and if there is more than attribute in the block for an mleader, it only uses one of the selected blocks. I am thinking that it is using the handle of the attribute definition instead of the attribute itself to determine if it has already been added, but I am unsure of how to get the handle of the actual attribute with this code. Please see code below.
<<Edit: Code Removed now that it has been debugged to avoid confusion>>