Hi EvanH,
I copied your code as-is and was able to place hatches successfully.
SHOW PATTERN reports correctly “Hatching: PA=45.0000,0.0000, PD=2.0000,0.0000”.
The only side issue I noticed was the call to mdlElmdscr_add (), which is meant for creating a clone of the original shape. This is not a problem, just an observation. The hatch was created on the cloned shape successfully.
Replacing it with mdlElmdscr_rewrite () created the hatch on the original shape successfully too.
Please let me know what I am missing. When you run your code, does it create a hatch at all? Are you trying to update an existing hatch?
Can you send me a DGN file containing a hatch created by your tool in MicroStation V8i Ss3?