1) Why do we sometimes use parenthesis and sometimes not? (i.e. sometimes I see MsgBox("Hello",0,"Title") and sometimes just MsgBox "hello",0,"title"?
2) If want to display a string stored in a variable to my users. However I need them to be able to select it and copy/paste it. A MsgBox doesn't seem to let them select the text. Any way round this?
It depends on whether you want to assign the return value to a variable or not. If you do, you need to surround the parameters for Msgbox in parentheses
Personally, I always use parentheses as I find it makes it easier to read.