Here's a derivation in your grammar, assuming that your 'e' denotes the empty string:
$$
S\Rightarrow AB\Rightarrow B\Rightarrow bbB\Rightarrow bb
$$
This is clearly not in $L=\{a^nb^{n+1}\mid n>0\}$. There is, however, a non-regular grammar for your language:
$$\begin{align}
S&\rightarrow AB\\
A&\rightarrow aAb\mid ab &\text{generates $a^nb^n$}\\
B&\rightarrow b &\text{generates the $b$ on the right}
\end{align}$$
There is no regular grammar that will generate $L$, since $L$ is not a regular language.
For your last question, "how can a language be regular and infinite?", you appear to be confused by your observation that any finite language is regular. This is true: logically we'd write this as "If a language is finite, then it is regular."
This does not, however, imply the converse: "If a language is regular, then it is finite." To see this, consider the true statement "If a number is a multiple of 6, then it is even". That's certainly true: 42 is a multiple of 6 and is also even. However, the converse, "If a number is even, then it is a multiple of 6" is certainly false sometimes, since 10 is even but not a multiple of 6. In logical notation, we have that the truth of $P\rightarrow Q$ does not guarantee that $Q\rightarrow P$.
The statement "If a language is finite, then it is regular" just says that the set consisting of finite languages are a subset of the set of regular languages, not that the two sets are the same. For example, the language $\{a^n\mid n\ge 0\}$ is regular (since that language is denoted by the regular expression $a^*$ and also generated by the grammar $S\rightarrow aS\mid \epsilon$) but is obviously not finite.