@agorrod, here are my suggestions for your consideration.
First, I would move the WT_CBT_CONFLICT_CHECK into the WT_CURSOR structure (with a minor name change so it's not too long). It seems to me the WT_CURSOR_BTREE flags are more about things going on in the structure itself rather than the operation the cursor is performing, and it seems to me like we're creating a "conflict check" cursor operation here. I realize that's a fine line to draw, and I don't mind at all if you and michaelcahill decide I'm on the wrong side of that line.
Second, I think we have to check if cbt->ins is non-NULL before indirecting through it, if the row-search routine returns an exact match from somewhere other than an insert list, I would expect cbt->ins to be NULL.
Third, while looking at the lsm changes, I tossed in a couple of gratuitous white-space cleanups as a separate commit.