If caption doesn't change, maybe your event (onShow?) is not executing?
When you do like this:
procedure TForm1.Button1Click(sender: TObject);
begin
form2.caption:='test';
end;That is exactly the same thing you are after, a reference to another unit. My guess is you are missing a small typo or something.