Thomas,
Perhaps you can get there through the back door. See if you can open a channel to the database - Jet or DBMS as appropriate - and then add the pointers and such via SQL. This approach has helped through some of the more painful read only issues with the API in the past.
Hey Thomas -
Hope this helps (I typically mix and match automation interface tasks with a healthy dose of raw-SQL manipulation/reverse engineering). I've got a few others of these, too... they've been fun

@InterfaceName is the name of the RequiredInterface that you want to create.
@FunctionName is the name of the Component that you want to add the RequiredInterface to. It does an exact text match on the name, so make sure this matches.
The Classifier and Classifier_guid create the reference to the original interface that lives somewhere in my model, but you could tailor this based on your needs.
CREATE PROCEDURE InterfaceRequiredAdd
(
@InterfaceName nvarchar(255),
@FunctionName nvarchar(255)
)
AS
BEGIN TRANSACTION TREQUIRED
INSERT INTO
t_object
SELECT
'RequiredInterface' AS Object_Type,
0 AS Diagram_ID,
@InterfaceName AS [Name],
null AS Alias,
null AS Author,
'1.0' AS Version,
null AS Note,
0 AS Package_ID,
null AS Stereotype,
1 AS NType,
1 AS Complexity,
0 AS Effort,
null as Style,
-1 AS Backcolor,
0 AS BorderStyle,
-1 AS BorderWidth,
1 As FontColor,
0 AS Bordercolor,
GETDATE() AS CreatedDate,
GETDATE() AS ModifiedDate,
'Proposed' AS Status,
0 AS Abstract,
0 AS Tagged,
null AS PDATA1,
null AS PDATA2,
null AS PDATA3,
null AS PDATA4,
null AS PDATA5,
null AS Concurrency,
null AS Visibility,
null AS Persistance,
null as Cardinality,
'<none>' AS GenType,
null AS GenFile,
null AS Header1,
null AS Header2,
'1.0' AS Phase,
'Public' AS Scope,
null AS GenOption,
null AS GenLinks,
(SELECT [Object_ID] FROM t_object WHERE name = @InterfaceName AND Object_Type = 'Interface') AS Classifier,
'{' + CONVERT(nvarchar(40), NEWID()) + '}' AS ea_guid,
(SELECT [Object_ID] FROM t_object WHERE Object_Type = 'Component' AND Name = @FunctionName) AS ParentID,
null AS RunState,
(SELECT ea_guid FROM t_object WHERE name = @InterfaceName AND Object_Type = 'Interface') AS Classifier_guid,
0 AS TPos,
0 AS IsRoot,
0 AS IsLeaf,
0 AS IsSpec,
0 AS IsActive,
null AS StateFlags,
null AS PackageFlags,
null AS Multiplicity,
null AS StyleEx,
null AS EventFlags,
null AS ActionFlags
COMMIT TRANSACTION TREQUIRED