I think I fiqured it out but still don't understand why.
The form when opened was only loading one record. Therefore it was at BOF and EOF disabling the buttons.
I added a move last/first to the initiating code and that solved the problem
Code:
Public Sub InitCls(frm As Form, bPrev As CommandButton, bNext As CommandButton, Optional bFirst As CommandButton = Nothing, Optional bLast As CommandButton = Nothing, Optional bNew As CommandButton = Nothing, Optional lCounter As Label = Nothing, Optional Bof_Eof_Action As eRecordAction = 1)
Set m_objfrm = frm
Set m_objcPrevious = bPrev: m_objcPrevious.OnClick = fEvents
Set m_objcNext = bNext: m_objcNext.OnClick = fEvents
m_objfrm.OnCurrent = fEvents
If Not bFirst Is Nothing Then Set m_objcFirst = bFirst: m_objcFirst.OnClick = fEvents
If Not bLast Is Nothing Then Set m_objcLast = bLast: m_objcLast.OnClick = fEvents
If Not bNew Is Nothing Then Set m_objcNewRec = bNew: m_objcNewRec.OnClick = fEvents
If Not lCounter Is Nothing Then Set m_objLblCount = lCounter
TheAction = Bof_Eof_Action
frm.Recordset.MoveLast
frm.Recordset.MoveFirst
End Sub