VB5 ActiveX server

I am writing a Delphi 4 application which controls a third-party ActiveX
server
which was written in VB 5.

There are three problems:

1) Any call I make through the dual interface causes an Access
Violation.

    I then tried the dispatch interface, where properties and methods
work OK, except ...

2) I can't figure out how to pass a boolean array:

    A server method is declared, in VB:
        GetBits (ByRef  bBits() As Boolean)

    After importing the type library into D4, the dispatch interface
has:
        procedure GetBits(var bBits: {??PSafeArray} OleVariant)

    How do I define the array to be passed?
    Everything I've tried results in 'Invalid Type' error.

3) Delphi 4 Developer's Guide (p. 45-2)  says: 'The names of dual
interfaces start with "I"'.

    Mine doesn't. Does this matter?  The CoClasses are OK.

Item 2, above, has really got me stuck.
Any ideas?  Also, any good places for FAQs like this?

Jon