Code:
//your specifying this function returns a type of dialogbox* but you do not return anything in it??
DialogBox * CreateDialogBox(STRING * Title,STRING * Note,STRING * Text,int alpha)
{
	DialogBox * dlgbx = sys_malloc(sizeof(DialogBox));
	if(dlgbx)//is dlgbx valid ??
	{
		dlgbx->Title = Title;
		dlgbx->Note = Note;
		dlgbx->Text = Text;
		dlgbx->alpha = alpha;
		dlgbx->Container = pan_create("bmap = DialogBox; ",100);
		pan_setstring(dlgbx->Container,0,5,5,DialogBoxTitleFont,dlgbx->Title);
		pan_setstring(dlgbx->Container,0,5,5,DialogBoxTextFont,dlgbx->Text);
		pan_setstring(dlgbx->Container,0,5,5,DialogBoxNoteFont,dlgbx->Note);
	
		pan_setbutton(dlgbx,0,0,20,200,ButtonNormal,ButtonHover,ButtonClicked,NULL,NULL,NULL,NULL);
		pan_setbutton(dlgbx,0,0,220,200,ButtonNormal,ButtonHover,ButtonClicked,NULL,NULL,NULL,NULL);

		//return dlgbx
		return dlgbx;
	}
	//oops no valid dlgbx
	return NULL;
}

//in you other function note the return value before using 
DialogBox *DeleteProfileDialogBox =CreateDialogBox(bla bla);

if(DeleteProfileDialogBox!=NULL)//is it valid??
{
	//valid!! use it
}
else display error



also im not sure if your malloc works correct but i always use it like this

my_object *object=(my_object*)malloc(sizeof(my_object));


Compulsive compiler