I have found the answer, thanks to varocarbas, who commented below my original question. My assumption is that the CellEndEdit Event is fired somewhere following the ProcessCmdKeys() method-call but before the OnKeyPress() call due to the precedence of the ENTER key being higher than a normal key (it's a Command key). This explains why I was unable to change the behavior while a cell was still in EditMode using OnKeyPress().
The custom DataGridView that I created, which prevents any action from occurring following an ENTER-key press in a DataGridView, can be seen below:
Public Class clsModifyDataGridView
Inherits Windows.Forms.DataGridView
''' <summary>
''' Changes the behavior in response to a Command-precedence key press
''' </summary>
''' <returns>True if we handled the key-press, otherwise dependent on default behavior</returns>
Protected Overrides Function ProcessCmdKey(ByRef msg As Message, keyData As Keys) As Boolean
' Was the ENTER key pressed?
If keyData = Keys.Enter Then ' YES
' DO NOTHING
Return True
End If
' Handle all other keys as usual
Return MyBase.ProcessCmdKey(msg, keyData)
End Function
End Class
Somebody please correct me if my assumption about the call-sequence is inadequate. Also note, this ProcessCmdKey() override made my previously mentioned override of the OnKeyPress() method unnecessary.