Also, if the type is "src", shouldn't the point end up after "#+BEGIN_SRC"? Because the user will anyways need to type something there.

Finally, I am trying to understand what this does:

(if (bolp)
    (progn
      (skip-chars-backward " \n\t")
      (forward-line))
  ;; snip
  )

If the point is at BOL, wouldn't that progn bring the point exactly to where it was, as the same BOL? Also isn't that progn equivalent to (forward-line 0)?

I am probably missing something.. but seems to work the same with 

(unless (bolp)
      (end-of-line)
      (insert "\n"))

replacing that whole (if ..) form.
--

Kaushal Modi