The original method is working for me in IE8. ({}.toString() === '[object Object]') -> true

Were you running into a specific error? I'd love to avoid the big isPlainObject function, especially if it's a jQuery copy/paste.