Il procedimento è corretto.
Tu dichiari nella sezione INTERFACE tutto ciò che vuoi che sia visto da chi usa la Unit (procedure, funzioni, variabili, costanti, tipi di dato), mentre nella sezione IMPLEMENTATION implementi le varie procedure, funzioni e dichiari tutto ciò che NON vuoi che venga visto da chi usa la Unit (per esempio, procedure di supporto alle funzioni visibili).
Un esempio di ciò che ha senso mettere nella sezione INTERFACE è la procedura che, preso in input un array, lo ordina.
Nella sezione IMPLEMENTATION tu implementi l'algoritmo di ordinamento (per esempio QuickSort) e, magari, implementi anche la funzione swap che scambia i valori di due variabili (procedura di supporto per QuickSort, ma che non è utile che gli altri vedano e usino).
Ciao.