This scenario is gonna cause confusion with a lot of users:
User has several items - he'll add his first item.
His list now looks like
He'll then want to add his second item, he clicks +add
His list now looks like this:
----Fill in details for new item----
He fills in the details and now his list looks like this:
At this point the user stares blankly an in disbelief at the list before turning to me and going: 'WTF - this is TOTALLY USELESS!!'
I'll then proceed to tell him that he can rearrange the items by dragging, and suggest that for future reference he should perhaps start with creating the number of items that he need and THEN fill them out.
He'll then go 'NO WAY - this sucks!' while thinking to himself 'Is that programmer guy retarded?'
This exchange of pleasantries will probably appear more civil than I outline here - but the pattern will be the same.
I therefore humbly suggest:
Make the +add button add the new field-set AFTER any previous entered
Make a +add button at the top, at the bottom and in between all entries, so that clicking +add will produce the new field in the position indicated by the +add button that was clicked.