Ein Sicherheitsrisiko sollte das nicht sein, wo siehst du da ein Problem?
Aber es ist halt in der Regel so, dass die ID nur innerhalb eines Prozesses eindeutig sein muss und wenn man einfach die erste freie nimmt, kommt genau das dabei raus. Wenn deine Interfaces dafür geeignet sind, spricht natürlich nichts dagegen, wesentlich höhere IDs zu benutzen, aber bei den klassischen Interfaces gibt es manche (z.B. select() mit seinen fd_sets), die eine obere Begrenzung haben, an die man systemweit in der Praxis leicht rankommen dürfte.