With Android platform fragmentation, what changes in different OEM handset attributes force developers to port from one platform to another?
Generally speaking, there are no "changes" that "force developers to port from one platform to another" within Android.
There are some bugs in some devices that require workarounds, but these tend not to affect large percentages of applications. Otherwise, the devices would not have passed the compatibility tests.
However, there are two cases where "changes" do exist:
Developers who elect to ignore the SDK boundaries and work with undocumented things will find that those undocumented things are undocumented for a reason, and that OEMs are welcome to change them.
OEMs who do not include the Android Market on their devices, and therefore do not necessarily pass the compatibility tests, may or may not produce devices that will work with third-party Android applications.