Вы не получите ссылки на файлы круглых заголовков, если у вас есть защита #ifndef. В этом-то и дело.
Прямая ссылка используется, чтобы избежать #include (ing) заголовочных файлов для объектов, которые вы используете только по указателю или по ссылке. Однако в этом случае вы не решаете проблему циклических ссылок, вы просто практикуете хороший дизайн и отделяете файл .h от деталей, которые ему не нужны.