Try using DoEvents:
Private Sub Form_Load() 'Loads the Forecast Form
Me.Visible = True
DoEvents
DoCmd.OpenForm "frmForecasts"
DoEvents
End Sub
DoEvents pass control to the OS, which can sometimes allow Access to "catch up". However, you might find that your form loads behind the first form, or that Access just doesn't "catch up".