MySQL select takes 0.2 sec; equivalent UPDATE takes 1.5 minutes! This query runs in 0.2 seconds and finds 9 rows:

SELECT S.id, S.frame, S.active,
  GF.groupNum, GF.frameDesc
FROM skus S 
  INNER JOIN group_frames GF ON (GF.frame = S.frame)
WHERE GF.groupNum = 204 AND GF.frameDesc LIKE '%lumbar%';


This query runs in 1.5 minutes and updates the same 9 rows:

UPDATE skus S
  INNER JOIN group_frames GF ON (GF.frame = S.frame)
SET S.active = 0, S.updated_by=101355, updated_at = NOW()
WHERE GF.groupNum = 204 AND GF.frameDesc LIKE '%lumbar%';


... while this incredibly-hackish version runs in 0.5 seconds and updates the same rows:

UPDATE skus S SET S.active = 0, S.updated_by=101355, updated_at =
NOW() WHERE S.id IN (   SELECT id FROM (    SELECT S1.id    FROM skus S1 
        INNER JOIN group_frames GF ON (GF.frame = S1.frame)     
WHERE GF.groupNum = 204 AND GF.frameDesc LIKE '%lumbar%' ) S3)


(using a dummy inner-query to defeat the query-optimizer complaining about the same table being used in a FROM clause)

Why on earth did the second query take so long?!
I don't know the answer to your question, but you might try a regular update like:

UPDATE skus S
    SET S.active = 0
      , S.updated_by=101355
      , S.updated_at = NOW()
WHERE EXISTS (
    SELECT 1 
    FROM group_frames GF 
    WHERE GF.frame = S.frame
      AND GF.groupNum = 204 
      AND GF.frameDesc LIKE '%lumbar%'
);


Indexes like:

CREATE INDEX ... ON skus (frame);
CREATE INDEX ... ON group_frames (groupNum, frame, frameDesc);


will probably help