I have the same problem today. It takes me almost a day to find the solution below. Hope this works for you as well. :)

In the ajax call back, create the html link for the modal box, then initialize the overlay.

callAjax = function () {
$.ajax({
type: 'POST',
url: url,
data: {

},
dataType: 'json',
success: function (data) {
if (data.error) {
}
else {
//construct the link
$div.append('Add Note');
//do others ...
//then initialize the overlay
var clickLink = $('a.add-note').overlay({
mask: {
color: '#ccc',
loadSpeed: 100,
opacity: 0.5
},
close: 'button.cancel',
closeOnClick: false
});
}
},
error: function () {
},
complete: function () {
}
});
};

Next step, use .live() to hook-up the click event and load the modal dialog.

$('a.add-note').live('click', function () {
$(this).overlay().load();
return false;
});