How you have defined your isolated scope html attribute expression and how the invocation is done with ng-click
needs to be fixed.
The directive html should be
<control-Ui control="control" on-delete-control="deleteControl(controlId)"></control-Ui>
The invocation should be
ng-click="deleteControl({controlId:control.id})"
to make it work.
You can also pass the control directly if you do
ng-click="deleteControl({controlId:control})"
Update: For multi-level directives passing parameter was not as expected. I created a fiddle to show the approach http://jsfiddle.net/8XkHn/2/
Basically you need to keep passing the call level up.