1. Никто не пишет на чистом WinAPI. И тем более ни к чему его изучать, нужно просто иметь представление как он работает, а какие-то конкретные решения описаны в документации - когда потребуются тогда и выучишь.
2. Для создания приложений потребуется ознакомиться с каким либо фреймворком, будь то кроссплатформенный Qt или что-то более нативное для Windows.
3. Если не касаться окошек, то чтобы выйти за рамки теоретических програм, нужно начать писать такую не теоретическую программу.
4. Чтобы понимать структутру программ на ассемблере, неплохо бы помимо C++ еще немного изучить сам Ассемблер, принципы архитектуры процессоров, приципы архитектуры приложений под конкретную ОС.
5. Дебаггинг с IDAPro в 21 веке - это экстремальщина. Если ты дебажишь свое приложение на С++ то у тебя есть его исходники, есть куча дебаггеров под конкретные языки которые прекрасно умеют дебажить по исходникам.