Why do you have...
rpcallowip=127.0.0.1
rpcallowip=localhost
These are the same thing, I would remove the "localhost" one, it is better to use the ip 127.0.0.1 for localhost. Not a hostname.
Way to nitpick.
As for your problem, change
$bc = new jsonRPCClient('http://' . $rpc_user . ':' . $rpc_pass . '@' . $rpc_host . ':' . $rpc_port);
to
$bc = new jsonRPCClient('http://' . $rpc_user . ':' . $rpc_pass . '@' . $rpc_host . ':' . $rpc_port, true);
This should give you a more in depth error log.
Barring that, try re-downloading the json-rpc library, it's possible yours might have been messed with. Were you playing with the code at all?