Hi Andrey,
I have no idea why this inconsistent behavior is present. I am, however, interested in your use case, beucase I do not see any good in passing a function to Object.create. Typically, one does
var Parent = function() {};
var Child = function() {};
Child.prototype = Object.create(Parent.prototype); /* inheritance without constructor execution */
So I wonder if your interest is based on curiosity, or some real-life implementation where it is desirable to call Object.create(function(){}). Note that weird things can happen:
var F = function() {};
F.prototype = function() {};
var f = new F();
"apply" in f; // true! you just "inherited" a function :)
Ondrej