faxof,
I see no one has yet "jumped in" on this, so perhaps it suggests there is no "easy" solution.
I've developed a working model, using the following Worksheet_Change event for Sheet1...
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
numcolms = Range("t_c"

.Columns.Count
numrows = Range("t_r"

.Rows.Count
If numcolms < 255 Then
Application.Undo
End If
If numrows < 65535 Then
Application.Undo
End If
End Sub
Note: The above routine references range names "t_c" and "t_r". Therefore you'll need to create these range names (or use your own choice of names).
1) I've assigned "t_c" to A65536:IU65536, and I've hidden Row 65536.
2) I've assigned "t_r" to IV1:IV65535, and I've hidden Column IV.
Note: It's important... NOT to assign "t_c" to ALL the Columns (don't include IV), and NOT to assign "t_r" to ALL the rows (don't include 65536). This is because if you were to include ALL the rows/columns, then the range names would remain "anchored" and would therefore NOT change whenever a row or column is deleted.
I hope this helps. If you'd like, I can email you a copy of the model I created.
Please advise as to how this fits.
Regards, ...Dale Watson dwatson@bsi.gov.mb.ca