I think you're probably right about this...

In the past I've been bitten by stuff like this ->

def some_method(foo='bar'):
    print foo

def some_method_wrapper(foo='bar'):
    some_method(foo=foo)

def some_method_wrapper_wrapper(foo='bar', baz=True):
    if baz:
         some_method_wrapper(foo=foo)

And it generally sucks that I have to declare the same default value all the way up the call stack.  Particularly when the methods are in different modules.

I suppose this may indicate too much coupling between modules, or perhaps that the API is too complicated.