I finally managed to get this solved. I will share my answer in case there are others out there stuck with such an issue. While the edit in my question above helped me come closer to the solution, I figured out the mistake was in not calling vr2.setVerticalScroll(vr2.getVirtualHeight());
at the right place.
For details, please check this question on stackoverflow and this on blackberry support forums. The solution is as follows:
LabelField chat1 = new LabelField( "Hi", Field.FIELD_LEFT)
{
protected void applyTheme(Graphics g, boolean arg1)
{
g.setColor(Color.DEEPSKYBLUE);
super.applyTheme(g, arg1);
}
};
Font myFont = Font.getDefault().derive(Font.BOLD, 8, Ui.UNITS_pt);
chat1.setFont(myFont);
chat1.setBorder( leftBorder );
chat1.setMargin( 0, 0, -15, 0);
vr2.setBorder(bdr);
vr2.setVerticalScroll(vr2.getVirtualHeight()); //scrolls to the bottom of the vertical field manager
vr2.add(chat1);
Field f;
int i = vr2.getFieldCount();
f = vr2.getField(i-1); //getFieldCount, gets total number of fields
f.setFocus(); //sets focus on the newly added field