Passing a master password as a command line parameter to KeePass is insecure because the master password can then be easily discovered by other processes during the entire run of KeePass. Because KeePass takes such great efforts to protect sensitive data and because this feature exposes an extremely easy security hole to the most sensitive KeePass data of all (a master password) it seems a defect to feature command line arguments that accept sensitive data.
A possible fix is to accept sensitive data via stdin instead of via command line. If the command line features must remain then it seems to be a documentation defect in (http://keepass.info/help/base/cmdline.html) where the issues should be clearly stated to warn unsuspecting users.
Examples of how to get command line information from other processes: