Creation + Drag and drop of groups of fields with CCK
Take a look at field collection module.

You could create a field collection with a text field (Number of values: 1) and an image field (Number of values: Unlimited). Then you should set your field collection field also to unlimited values so you can add as many sets you want.

Nevertheless field collection is a little buggy, but give a try first.