No, Direct3D doesn't have a functionality extension concept the same way OpenGL does.
- Direct3D 9 exposes device capabilities, which provide information about scalar or Boolean quantities related to feature support (such as "how many lights are supported" or "how many instructions can a vertex shader program contain").
- Direct3D 10 (and 10.1) provided firm guarantees about capabilities.
- Modern versions of Direct3D (11+) expose the concept of feature levels, which provide broad guarantees of certain functionality.
In a few rare cases, driver-specific workarounds or behavior can be triggered in D3D by passing otherwise invalid or undocumented parameters to certain Direct3D entry points. These are uncommon, usually not a good idea to rely on, and aren't made available for querying except by checking the hardware and driver versions. Similarly, a few pieces of hardware and/or a handful of drivers can play a bit fast and loose with their conformance to the D3D specification (whichever one they claim to support), but that's not really what you're looking for either.
While there are functions to query the above mechanisms, none of the mechanisms provide any way to introduce new entry points into the API or introduce entirely new functionality without versioning the API itself (which is what OpenGL's extension mechanism allows for).
In summary, there's no equivalent to
glGetString(GL_EXTENSIONS) in Direct3D because there's no equivalent capability in the API. Your friend's program likely just has a legitimate bug of the variety that manifests as you describe (any number of things could be causing it).