That IS probably the fault of using SAS/Studio as your interface for submitting code.
To check what is going on turn on the option to show all of the SAS code that the SAS/Studio application generates before and after the code you actually want to run.

Then you can see that SAS/Studio is turning off ALL of the titles.
1 OPTIONS NOSYNTAXCHECK;
2 TITLE;
3 FOOTNOTE;
4 OPTIONS LOCALE=en_US DFLANG=LOCALE;
5 DATA _NULL_;
6 RUN;
I so not know of anyway of overriding the code that SAS/Studio generates.
But if you push the button in SAS/Studio to go into "interactive mode" then it does not submit those lines. So any TITLE statements you submit in your session will be remembered in the next submission in the same session.
NOTE: This session is in interactive mode.
63 proc print data=sashelp.vtitle;
64 run;
NOTE: No observations in data set SASHELP.VTITLE.
NOTE: There were 0 observations read from the data set SASHELP.VTITLE.
NOTE: PROCEDURE PRINT used (Total process time):
real time 0.00 seconds
cpu time 0.01 seconds
65 title2 'My title2';
66 proc print data=sashelp.vtitle;
67 run;
NOTE: There were 2 observations read from the data set SASHELP.VTITLE.
NOTE: The PROCEDURE PRINT printed page 1.