Dear John,
Note that we can find elements if,true,false \in A satisfying if true x y = x, if false x y = y, and furthermore we can arrange that true = k. (I'll use "if then else" syntax below). We want to construct S such that (in A), Skxkykz ~ (xkz)k(ykz), and Skxky is always defined. Take S to be \lambda txuyvz. if v then (xkz)k(ykz) else false using the usual Curry translation of lambda terms. To see that Skxky is always defined, note that, provably, Skxky(false)z = false.
There is a point I don't understand. If I work out Skxky, then I find a term which contains subterms of the form xk, yk. So how can this be defined if x or y represent nowhere defined functions? It looks to me, that you are using a form of Combinatorial Completeness that is not valid with the weaker S-axiom. If I am correct, one has the following form of Combinatorial Completeness: For every term t and variable z, there is a term \lambda z.t with the property: If \lambda z.t is defined, then for each a, (\lambda z.t)a ~ t[a/z] (of course, a really correct version has more than one variable) Best, Jaap