Надо в data помещать html код а не ссылку на выборку дочерних обьектов.
вместо
var data = $('div', this).children();
писать
var data = $('div', this).html();
У тебя получалось так
1) Пользователь кликал по первой ссылке, при этом содержимое перемещалось из контейнера this, в твой лайт бокс.
2) Пользователь кликал по другой ссылке, и снова делалось перемещение уже из второго контейнера.
3) Пользователь снова кликал по первой ссылке, программа снова пытался сделать перемещение из контейнера this, но не тут-то было, ты ведь переместил его содержимое уже на шаге 1, и контейнер пуст, а то что ты переместил на первом шаге пользователь уже давно затёр на втором. короче html($(' селектор')) - перемещает, а не копирует.
function showLightBlock(eventObj)
{
var block = $('div:#cn-menu-light-overlay div#cn-menu-light-block');
//var data = $('div', this).children(); // неправильная строка
var data = $('div', this).html(); // правильная строка
block.html(data);
setCssLightBlock(block);
}