Note that in your example URL (mysite.com/forum:topic=1-Topic-Title-Here&p=2), the "p=2" is in the path, not the query string, because there is no question mark preceding it. Is that intentional?
The simplest approach would be to (properly?) place the "p" parameter in the query string, rather the path portion, thusly: mysite.com/forum:topic=1-Topic-Title-Here?p=2
Rather than brewing your own scheme (the "forum:topic=" format), use the standard URL hierarchical structure. Keep it RESTful.
Code:
RewriteRule ^/?forum/thread/([0-9]+)-(.*[^/])$ forum.php?thread=$1&title=$2 [NC,L,QSA]
URLs would then look like "mysite.com/forum/thread/1-Topic-Title-Here?p=2", though having both the thread number and title in the URL seems redundant.