CAM_STARTUP_CRASH_FILE_OPEN_FIX is automatically set for all DryOS cameras in camera.h - so that is not likely to help.
This used to enable the _Open() -> _open() replacement in platform/generic/wrappers.c, but it's commented out in current trunk.
Using 1.3 might be better, the file IO semaphore changes should fix it.
The a1400 is only supported in 1.3.
If this is a recent build, then this assert should not happen: the call to _Open() is protected with fileio_semaphore. The assert comes from a subroutine called by the firmware's Open function.
I'd recommend creating a custom build and keeping main.bin.dump, that would later allow us to find out which open call caused the problem.
@timgor
The romlog shows that the assert happened _after_ the camera restarted (within 2 seconds).
Which build are you currently using?