Yeah... that's a real problem. No competent vessel captain every sets sail without giving his entire vessel an inspection. In the case of big ships (cruise liners, etc) he does a walkthrough but relies on trusted members of his crew to do the detailed section- by-section inspections. But in the case of a relatively small vessel like the ferry, the captain would be required to inspect his own ship, or to rely on the report of someone he trusted.Here's a question -- how did Joker possibly know the ferries would be filled with civilians and prisoners? Or was it just a happy accident because he was intending to pit two ferries of civilians against each other?
Most of the guys were Maroni's (and the other bosses) lower level enforcers, so Joker could have heard about them being moved out on the ferries in advance from his connections within the Mob.
How he moved tens of thousands of pounds of explosive barrels into the engine rooms of two presumably locked down ferries without anyone noticing is another matter, but one that I'm willing to overlook because it led to an amazing segment of the film.
How, then, would this happen? Seems to me that it would either involve MASSIVE incompetence, or massive bribery (which means people who aren't going to be on the boat while it's underway!) or impersonation.
Well, in the case of the attempted assassination of the mayor... the latter was already used. SO... the real question is "would that work again?" And sad to say, I suspect it would've. That's my best guess...
A group of official looking guys with all the right paperwork need to bring cargo on board... an incompetent captain isn't paying attention... and his land-based support personnel get distracted, bribed to look the other way, kidnapped, or killed.