How can you identify a "Publish a Major Version" with other events? I did some googling and experiments and found out that using BeforeProperties and AfterProperties in the ItemUpdating handler might do the job. Similar posts can be found here, but I didn't get the same result.
int iBefore, iAfter;
iBefore = int.Parse(properties.BeforePropeties["vti_level"]);
iAfter = int.Parse(properties.AfterPropeties["vti_level"]);
Using the value of iBefore and iAfter I was able to identify the following events:
|CheckIn Minor Version||255||255|
|CheckIn Major Version||255||1|
|Publish a Major Version||2||2|
So if (iBefore == iAfter) you a facing a "Publish a Major Version" event.