Как сохранить cookie на d7:
\Bitrix\Main\Context::getCurrent()->getResponse()->addCookie(
new \Bitrix\Main\Web\Cookie('cookieName', 'cookieValue')
);
Но на странице обязательно должен быть подключен
require($_SERVER['DOCUMENT_ROOT'] . '/bitrix/footer.php');
или
require($_SERVER["DOCUMENT_ROOT"].BX_ROOT."/modules/main/include/epilog_after.php");
т. к. куки d7 добавляются именно в эпилоге.
При этом старый код
$APPLICATION->set_cookie('cookieName', 'cookieValue');
сработает даже без подключения эпилога.
Как получить cookie на d7:
\Bitrix\Main\Context::getCurrent()->getRequest()->getCookie('cookieName');
Как удалить cookie на d7:
\Bitrix\Main\Context::getCurrent()->getResponse()->addCookie(
new \Bitrix\Main\Web\Cookie('cookieName', 'cookieValue', time() - 3600)
);