We have used Fisherman's Resort and Marina, (604) 883-2336. It is very nice with nice operators and is within easy walking distance of a good pub. Not sure about a hotel/cabin. I'd give them a call.
Fishermans Bay also has cabins. Would recommend you call in advance as Dave is a very easy-going character and is not always around to answer radio.
He also has e-mail at info@fishermansresortmarina.com or fishermans@dcnet.com
As Barry said, a very pleasant walk to the pub. Some provisions available at John Henry's but better to take the dinghy across to Madiera park (and walk up the hill)