org-babel-uppercase-example-markers says whether to insert BEGIN_SRC or begin_src. org-babel-demarcate-block doesn't respect this setting: https://code.orgmode.org/bzg/org-mode/src/master/lisp/ob-core.el#L1893 makes this check (lower-case-p (and block (let (case-fold-search) (string-match-p "#\\+begin_src" block))))) which sets lower-case-p only if it's inside an existing lowercase block (i.e. when splitting a block). Otherwise (when demarcating the region) it goes with uppercase.