1. Ифреймы использовать совершенно не обязательно, они по большому счёту нужны только при отключенном javascript. Можно написать такой код, что при отключенном JS будет iframe а при включенном — генерация через JS. Могу показать как.
2. Правильный Javascript может сгенерировать всё что угодно. А ещё более правильный сделает это асинхронно, не вызывая задержек отрисовки страницы. Могу показать как.
3. Да какая разница как ссылка выглядит. Юзер на картинку тыкает, ему графическое содержание понравилось, а не ссылка.
Яндекс директ использует мегассылки вида htp://yandex/qEMYmHbj0u40000ZhEWQYK5KfK1cm9kGxS198YpH9dW0echwWm2c1gTeNq-3wOjYgVjb9gg0QMgrs82ZG6HkamEg0YJGPa5GeoGaYAsa5yAjP3A2A2LQIQla98Yiv342RIGoWYKctGWfvOn7QYZeOCFfC00002H0Qxu6Zvfh-DYw0In0R84kQ5zFW-xvRwxDVIWzXDv4G00 (ссылка намеренно битая — содержит какой-то код, сервер его идентифицирует с рекламируемым сайтом)
У гугля ещё длинее: htp://google/aclk?sa=L&ai=mdsgdqpWUpL_GOHvwQOHyYCwBJy5l-MDnPS642D-otjqCQgAEAFQotfL2P7_____AWCEje2F7B3IAQGpAlkUaNTdn2A-qgQjT9AbkFvZ_XabH5e-rqXVV6spN4fHO_3LZ1m_avwqG-bK8ZGAB5yo7iCQBwI&sig=AOD64_3Zwt8-zurwnz52xCBJyhofu6octA&rct=j&q=%D0%BF%D0%B0%D0%BB%D0%B0%D1%82%D0%BA%D0%B8+%D0%BD%D0%BE%D1%80%D0%BC%D0%B0%D0%BB&ved=0CCwQ0Qw&adurl=ТУТ_РЕАЛЬНЫЙ_URL_САЙТА (ссылка битая — содержит какой-то код ссылки, по которому идентифицирует рекламируемый сайт и, неизвестно зачем, текст поискового запроса и URL сайта)
4. Защита от накруток — это самая сложная тема. Могу только предположить как, но 100% защиты не обеспечит
Иногда реализуют не подсчёт кликов, а подсчёт завершённых сделок (регистрация пользователя, или первая продажа товара пользователем, или первое добавление контента пользователем, или подписка на рассылку). В этом случае сайт, куда ведёт ссылка, сообщает рекламной службе о факте по какому-нибудь API. Вот этом могу рассказать.