You could always implement your own, based on the definition of a strong graph product.
strongGraphProduct[g_, h_] :=
Block[{mg, mh, vj, n, mj},
mg = AdjacencyMatrix[g];
mh = AdjacencyMatrix[h];
vj = Tuples[{Range[VertexCount[g]], Range[VertexCount[h]]}];
n = Length[vj];
mj = SparseArray[{{i_, j_} /; strongCondition[vj, mg, mh, i, j] -> 1}, {n, n}];
AdjacencyGraph[mj]
]
strongCondition[vj_, mg_, mh_, i_, j_] :=
Block[{u1, u2, v1, v2},
{u1, u2} = vj[[i]];
{v1, v2} = vj[[j]];
Or[
u1 === v1 && (mh[[u2, v2]] != 0 || mh[[v2, u2]] != 0),
u2 === v2 && (mg[[u1, v1]] != 0 || mg[[v1, u1]] != 0),
(mg[[u1, v1]] != 0 || mg[[v1, u1]] != 0) && (mh[[u2, v2]] != 0 || mh[[v2, u2]] != 0)
]
]
Then test it:
g = h = CycleGraph[5];
j = strongGraphProduct[g, h]
Some properties:
{VertexCount[j], EdgeCount[j]}
(* {25, 100} *)