furrywombat, this is just a preliminary response to your swath of general and specific concerns.
(1) One overview of security, with various links, comprises the currently 4+ pages of
http://forum.opencart.com/viewtopic.php?f=20&t=98644 on through the more recently explicit means of 64 bit mime attacks by shifting double- and multiple-extensions while setting fake text .jpg files into action as fully executable .php files, as at
http://forum.opencart.com/viewtopic.php ... 60#p440953 and
http://forum.opencart.com/viewtopic.php ... 60#p453513. Hacking consoles are a substantially worse, yet, risk, and several of those consoles that I have encountered have been supremely malicious. There are several threads on other specific installations, such as current summary at
http://forum.opencart.com/viewtopic.php ... 62#p458962.
(2) If your server offers ModSecurity firewalling you may want to utilize it, it works very well in stopping suspicious code. It is "tuned" for explicit as well as for heuristic detection of various kinds of code snippets which for practical purposes cannot be arriving for any good purpose at all. Among other niceties, in looking at inherently suspicious code snippets it sandbags attempts to reach directories and files that do not even exist.
(3) Read, safeguard, and archive your ftp logs, and especially your Apache http traffic logs, which show visits in extreme detail. Hackers will try to ruin those. Rogue robots and benign but berserk robots can be evaluated through them.
(4) Since .htaccess files are read hierarchically from root upward, the most widely applicable protections for all domains and directories in an account's tree belong in the account's public root (usually public_html/, www/, httpdocs/, htdocs/, or similar, according to how that is "aliased" in Apache configuration). Whatever is in that file essentially does not need to be repeated higher in the tree. You can block address ranges (such as known hotbeds of hacking around the world where you would not want any customers anyway, and proxies), but teasing those out of address rosters is tedious.
(5) You can put zero-byte index.html files in whatever directories do not have normal live index.html files. Normal index.html files already do what they do, in the following critical regards. Access to directories normally tries a default sequence of indices, index.html, index.htm, index.php, and then others. That can be controlled in .htaccess to some extent. When a hollow index.html sits in a directory, it sandbags attempts to see a roster of files in the absence of any index.html file. You may see 44 byte index.html files instead; I prefer that they be zero bytes, then I know at a glance that they are still intact unless the operating system itself has been upended. When other controls are ample, I tend to prefer having nothing present.
(6) Renaming your /admin/ and /download/ directories is not as effective as simply passwording them so that a server challenge greets anyone before the log-in or any download can even be seen. There is a limit to renaming, as well, since complete avoidance of all words in all languages that may be found in a dictionary somewhere, in favor of utter gibberish, is self-evident absurdity. Passwording effectiveness is markedly increased by allowing as few as 3 tries, or when strict 2 tries, or when outright strict 1 try, before a mandatory lockout and lengthy wait or when quite strict a recognizably personal live request for an new preassigned username and password. That level of effectiveness is usually impractical. In the simply telephonic BBS days, with intricate doors and voluminous downloads available through one-on-one modems at (wow!) even as high as 2,400 baud or on (superwow!) T-1, those fairly extreme measures were practical and essentially invincible means of initial access. Customers would ordinarily balk nowadays.
(7) The essentials for .htaccess are found in the .htaccess.txt file (which upon installation is edited and renamed to make it live). Check .htaccess files from time to time, hackers can reach and gut them. Fairly complete .ht* file rules (there are several kinds of .ht* files) are fairly intricate and voluminous. There is an old adage that reasonably complete security is had only by allowing only one adequately passworded and strictly policy-governed user and otherwise unplugging a computer and sleeping with it. One does one's best, there is no such thing as utterly invincible but approximations to that do work. Really the last word you would care to find yourself saying is, "Ulp."
(8) I am satisfied that OC itself, 1.5.0.0 through 1.5.6.0 and in all probability 2.0.x in their wake, is extraordinarily secure when installed and maintained properly. Yes, there have been "fixes" for this or that security concern along the way, and due attention needs to be paid to "retrofitting" them into place, but the system itself is not easy to hack into. In complex websites where OC is only one important element, augmented by a blog or forum or both as well as other features, vulnerabilities of OC tend to increase owing to something among those. The idea overall is to secure the entirety, by plural means that are essentially extrinsic to OC itself.