Rainmeter has the ability, put in back in the EARLIEST days, to be started with a defined, alternative location and name of "Rainmeter.ini", the file that controls pretty much everything. So when Rainmeter is started, it isn't looking for bangs on the command line. If there are ANY parameters at all on the command line when it is first started, those are treated as a location of that alternative Rainmeter.ini, and yeah, you can get some very strange behavior, since it will not only "look for" that alternative Rainmeter.ini, but if it isn't found, it will treat that as an order to start Rainmeter with a brand-new, user defined Rainmeter.ini, and that file, with a vanilla setup, will be created.
It gets particularly ugly, since that is going to create that file in the same folder as Rainmeter.exe, and when you have a "standard" installation, there won't be any Skins folder, and Rainmeter is just going to pitch a fit.
It's all a bit murky to me, since it hasn't really been used in like forever, it was originally designed back in the dawn of time when Rainmeter was closely integrated with Samurize. I recommend that command line parameters never be used unless Rainmeter is running, when the parameters will be passed to the running application, parsed, and executed.
At some point we should revisit this. I tend to agree that when command line parameters are passed to Rainmeter.exe, it should behave the same if Rainmeter is running, or not running. That entire "alternative" Rainmeter.ini deal is a pointless prehensile-tail, and only complicates that. At the most generous, this thing could perhaps be justified when there wasn't any concept of Layout, and you might want to load a different setup depending on some external factor. I can't see any point for it now.