Das Paket [`numprint`](http://www.ctan.org/pkg/numprint) bietet mit die Möglichkeit, per `\nplpadding` eine feste Anzahl an Vorkommastellen vorzugeben:
    \documentclass[12pt, oneside,numbers=endperiod]{scrbook}
    \usepackage[utf8]{inputenc}% Geändert, damit der Online-Editor damit klar kommt.
    \usepackage[ngerman]{babel}
    \usepackage[ngerman]{varioref} % Referenzen
    \usepackage[T1]{fontenc}
    \usepackage{numprint}
    
    \usepackage[left=3.8cm, right=2.8cm, top=2.5cm, bottom=2cm]{geometry}
    
    %Kompositionszähler
    \newcounter{kompzaehl}
    \setcounter{kompzaehl}{0}
    \newcommand{\KompNr}{\stepcounter{kompzaehl} \hspace*{\fill}{\nplpadding{4}\scriptsize (K\cntprint{kompzaehl})}}
    
    \begin{document}
    
    Hallo Welt
    \KompNr \\
    \KompNr \\
    \setcounter{kompzaehl}{1000}
    \KompNr \\
    \KompNr \\
    
    \end{document}
Will man nicht, dass bei großen Zahlen *nach Tausender*, also jeweils drei Stellen für die bessere Lesbarkeit der Zahlen gruppiert werden sollen, so kann man das *Trennzeichen* per `\npthousandsep{}` abschalten:
    \documentclass[12pt, oneside,numbers=endperiod]{scrbook}
    \usepackage[utf8]{inputenc}% Geändert, damit der Online-Editor damit klar kommt.
    \usepackage[ngerman]{babel}
    \usepackage[ngerman]{varioref} % Referenzen
    \usepackage[T1]{fontenc}
    \usepackage{numprint}
    
    \usepackage[left=3.8cm, right=2.8cm, top=2.5cm, bottom=2cm]{geometry}
    
    %Kompositionszähler
    \newcounter{kompzaehl}
    \setcounter{kompzaehl}{0}
    \newcommand{\KompNr}{\stepcounter{kompzaehl} \hspace*{\fill}{\npthousandsep{}\nplpadding{7}\scriptsize (K\cntprint{kompzaehl})}}
    
    \begin{document}
    
    Hallo Welt
    \KompNr \\
    \KompNr \\
    \setcounter{kompzaehl}{1000000}
    \KompNr \\
    \KompNr \\
    
    \end{document}
Für weitere Konfigurationsmöglichkeiten, die bei diesem Paket sehr vielfältig sind, sei ausdrücklich auf die Anleitung verwiesen.