Code::Blocks, di default, non è impostato per includere le dll nell'exe, ci sono varie soluzioni:
1) è quella che hai adottato, copiare tutte le dll necessarie nella stessa cartella dell'eseguibile.
2) copiare le dll più usate, solitamente 2 o 3, in system32 (sistemi 32bit) o SysWOW64 (sistemi64bit)
3) Includere il percorso di MinGW nelle variabili d'ambiente (Path).
4) Copilare con i flags -static, -static-libgcc, -static-libstdc++
in code::blocks ci sono le apposite spunte...
Se si includono le librerie, l'eseguibile funzionerà anche in sistemi che non hanno MinGW installato e senza dover distribuire insieme all'eseguibile le dll necessarie.
L'unica seccatura che ho riscontrato, è che se si usa il compilatore C, il tempo di compilazione decuplica (improponibile), mentre se si compila in C++ il tempo di compilazione raddoppia (sopportabile).
Attualmente quando sviluppo tengo i flag disabilitati, al termine imposto il flag e l'exe funziona ovunque (ambiente win).