Puedes utilizar directamente la API MessageBoxIndirect. Tienes accesible la estructura MSGBOXPARAMS para cambiar lo que quieras.
typedef struct {
UINT cbSize;
HWND hwndOwner;
HINSTANCE hInstance;
LPCSTR lpszText;
LPCSTR lpszCaption;
DWORD dwStyle;
LPCSTR lpszIcon;
DWORD dwContextHelpId;
MSGBOXCALLBACK lpfnMsgBoxCallback;
DWORD dwLanguageId;
} MSGBOXPARAMS, *PMSGBOXPARAMS, FAR *LPMSGBOXPARAMS;
Una par de ejemplos donde se utiliza:
http://www.delphifr.com/code.aspx?id=23179
http://www.assu-assist.nl/pgg/368.shtml
La idea final, es crearte una función que te permita llamar a ésta de forma fácil (una interficie, vamos).