On Google Chrome and Javascript
I say this and mean it both as a good thing and as something that makes our jobs as web developers harder. And I say 'harder' in the sense that it will force us to not be lazy. Google Chrome changes how back-end browser processing works. For instance, each tab in the browser is its own system process, which optimizes memory recovery over a prolonged period of web use. More importantly, however, is that it changes how Javascript is processed.
For the last fifteen years (or however long Javascript’s been implemented on the browser level), Javascript has been a lock-step affair. Your document is read by the browser vertically. When a <script> block is encountered, its contents are executed, preventing the browser from taking any other action. That is not the case with Google Chrome. I’ve not got it entirely worked out yet, but it is definitely doing more things in parallel, including loading and processing of Javascript.
I'm not speaking for the rest of you, but one habit I've got with my web development is that I will pepper inline <script> tags throught my code. Usually, this is so relevant bits of Javascript remain in the same vascinity as the markup it drives. It might not be entirely proper, but it gets the job done and doesn't make a follow-up developer hunt for unmarried segments of ColdFusion/PHP and Javascript.
This fast-and-loose style of javascript programming has proven to be problematic in Chrome thus far. For instance, in the project I'm currently working on, I'm using Adobe's Spry as an effects and AJAX library in conjunction with ColdFusion's javascript libraries. The Spry includes create the global Spry object and I've had inline <script> blocks that would instantiate Spry effects or data sets. The issue that I was seeing in Chrome is that the inline blocks were sometimes being executed prior to the completion of the Spry includes, resulting in errors from invoking undefined properties of the global Spry.
Thus far, my solution to it has been to revisit the loose bits of inline javascript that I'm so used to peppering throughout our code. If you find yourself in a situation where Google Chrome is making your Javascript go busto, try this at a very early stage of processing.
// Adds a function to the end of the onload queue.
window.appendOnload = function(func) {
// Adds a function to the beginning of the onload queue.
window.prependOnload = function(func) {
// Executes queued onload functions.
window.onload = function() {
if (func && typeof func == 'function') {
Then, you can do this with your inline stuff:
This is going to give you control over all the little bits of JS you want to pepper into your document at will and will make sure it's all executed at onLoad (by which point all referenced Javascript files have been executed) in the order you want them executed. It also has the added bonus of meaning you never ever have to write an onload function that has to substitute some other onload.
Hope this helps.

As for cookies, I haven't futzed with that in Chrome yet. With my current project, I've decided against using cookies for login purposes. The end users of what I'm working on are kids, which means I'll be seeing an increased percentage of public terminal (i.e. scholastic) connections.
Yet I am using ColdFusion's persistent client scope management for the site, which relies on a cookie for identifying return visitors. That hasn't proved problematic thus far. What kind of problems are you experiencing?
You really don't want to do stuff "onload" because that has to wait for all the images to load.
You want to use Prototype's special event "dom:loaded" which fires as soon as the HTML finishes loading (before the images are all loaded). You can do it without Prototype but it's completely differently implemented in all browsers so Prototype is nice because it puts a nice cross platform interface on it.
Prototype has GREAT class creation, DOM manipulation, AJAX, event handling, and general data structure tools.