Vi sono pro e contro, nell'usare questa tecnica (a mio avviso poco pratica):
1 - tutte le stringhe essendo inglobate nell'exe occupano memoria inutilmente, quando invece di lingue se ne usa solo una alla volta (e di norma l'utente non la cambia più).
Il che significa che se hai 4 lingue avrai <n> risorse stringa moltiplicate per 4, uno spreco enorme
2 - ad ogni modifica di una stringa, devi ridistribuire l'eseguibile (es. un'errore ortografico).
3 - se devi aggiungere una lingua, devi modificare la risorsa, compilare e ridistribuire l'eseguibile, e qui si aggiunge anche il problema del versioning.

Sembra una bazzecola, invece con i S.O. moderni per aggiornare un'eseguibile non è più possibile 'copiarlo' nella cartella di installazione (Programmi) come si poteva fare (anche se non sempre) con Windows XP.
Oggi devi creare un vero setup di aggiornamento con tutto quello che ne consegue.

Se proprio vuoi usare un file di risorse, allora è sicuramente preferibile usare come risorsa una DLL satellite, così se aggiungi una nuova lingua:
1) non devi ricompilare l'exe
2) la puoi installare in qualsiasi cartella (NON deve essere nella cartella <Programmi>)
3) non serve registrarla
4) in caso di aggiornamento:
- non è necessario creare un setup di aggiornamento.
- basta semplicemente copiare la DLL nella cartella e sovrascrivere la vecchia DLL


Se ti interessa e non sai come creare una DLL satellite trovi le istruzioni in questo mio vecchio articolo:
Come utilizzare le icone a 32bit di Windows XP
http://www.visual-basic.it/areaarticoli.asp

è davvero banale: dato che hai già creato il file RES ti basta solo compilare la DLL, e la routine che accede alla risorsa.
nel progetto di esempio allegato all'articolo trovi il codice, semplicissimo.