If you run "kmymoney file" then quit followed by "kmymoney" it opens "file" as the last file it had open. On the other hand, if you run "kmymoney filen" then quit, then "kmymoney -n" it opens with no data file. If you then quit and run "kmymoney" it will open "file" and not remember that no file was open the last time it was running. If the intent is literally to open the last file which was open in the program, then this behavior is correct. However, I would expect it to open the file which was open when kmymoney last ran, including remembering that no file was open. Is this behavior intentional, or an unintended edge case? Note, the behavior seems the same in both 5.1 and master branch.
As far as I see it, this is intended behavior. As you mention, KMyMoney opens "the last file it had open". Starting it without opening a file does not change the "last file it had open", IMHO. If you agree, we should close this as FIXED/INTENTIONAL.
I was thinking of making this a wishlist, but I suppose there is no real point, as the same effect is gotten using "-n".