Crash is due by mismatching loops and faces counts between the Alembic data and the Blender derivedmesh which does not appear so straightforward to fix (the crash happens deep in the derivedmesh code). So for now, try to detect if the topology has changed and if so, both only read vertices (vertex colors and UVs won't be read, as tied to face loops) and add a warning message in the modifier's UI to let the user know.