I think you've got the relationship between the delegate and its view controllers mixed up. The AppDelegate gets created when you launch the app. Rather than create the AppDelegate in Forum.h, you create the ViewController, Forum, in the AppDelegate. Also the *globalUserName in the curly braces is unnecessary.
So AppDelegate.h would read:
@interface AppDelegate : UIResponder <UIApplicationDelegate>
@property (strong, nonatomic) UIWindow *window;
@property (nonatomic, retain) NSMutableString *globalUsername;
@property (nonatomic, retain) Forum *forum;
Also, in the current version of Xcode and Objective-C, synthesize is also unnecessary. It gets set up and initialized automatically. In AppDelegate.m, you can refer to *globalUsername using:
self.globalUsername
Your AppDelegate.m should also include the following in applicationDidLaunch:
[[self.forum alloc] init]; //Allocate and initialize the forum ViewController
self.forum.delegate = self; //Set the forum ViewController's delegate variable to be the AppDelegate itself
But the Forum ViewController currently doesn't have a variable named delegate, so we'll have to create that. So in Forum.h you should add:
@property (nonatomic) id delegate;
So now in Forum.m, since AppDelegate.m took care of setting the delegate, we can now refer to the data in AppDelegate using Forum's delegate variable.
So finally, in order to access globalUsername from Forum.m, we can use self.delegate.globalUsername. So to append to the string from Forum.m, we can use:
[self.delegate.globalUsername appendString:myNewString];
Where "myNewString" is the string you want to add to globalUsername.
Hope this helps.