Solo puede crear una clave externa en una tabla que haga referencia a una clave en otra tabla. Este problema específico es que memberid no es una clave en ninguno de los groupmembers o rolemembers mesas. Simplemente agregue KEY (memberid) a esas mesas y estarás listo para ir.
Otro problema es que los tipos de claves externas deben coincidir. eventgroup tiene groupid varchar , pero hace referencia a los groups tabla, que tiene groupid INT . Corrige esto.
En cuanto a las sugerencias, recomiendo encarecidamente que cada clave principal sea solo una columna:su clave sustituta de incremento automático. También deberías hacer estos números enteros sin signo.