Yes. Technically the only way I know how to break it is to have hardcoded absolute references to binaries. That does not include JLLs, since the Binary builder system is all systems image safe. But if you sideload some weird binary and then const the reference in the package, then the system image (which is relocatable) will not find the binaries when you relocate it. This used to be an issue of shipping GR with Pumas, but of course is fixed since 2020 when it was changed to JLLs.
So yeah, you can break it with some not too weird things, but generally those are things you shouldn’t be doing in a library anyways since it would have other issues.
For reference, some complicated wrapper packages like Sundials.jl got system image friendly with 0 targeted work and just using BinaryBuilder as documented, so I don’t think it’s unreasonable to say you don’t have to go out of your way to support it.
(This excludes the system image too big bug, which is just a bug which should go away soon)