Regarding the last line of the buffer, this is indeed a "feature" of evil. Vegard and I had a long discussion about this and finally agreed on the current implementation which is as follows. Evil considers newline-characters as line terminators, not as line separators, which is the default UNIX (POSIX?) interpretation. This means it is not allowed to move point on a newline or to the position after the last newline character in the buffer. Evil does some fancy stuff to ensure that point is always adjusted to the "allowed" region. The reason for this was that the last, possibly "incomplete" line (when the last character in the file is not a newline) causes some trouble with vim-line line operations (e.g. the last line of some line-wise operation would not include a final newline, but only in this case).
Hi Frank, Could you link me to the discussion you and Vegard had about disallowing point at EOB? I searched "point EOB" in the archives, but without many results.