I had a similar problem with _imp_ShellAboutA@16, but i tried a few things suggested and it still complained, so i edited the shellapi.inc as such: (for future reference if someone else has a similar issue)
; Commented out these definitions for ShellAbout:
;proto_ShellAboutA typedef proto WINSTDCALLCONV :HWND, :LPSTR, :LPSTR, :HICON
;externdef WINSTDCALLCONV _imp__ShellAboutA@16: ptr proto_ShellAboutA
;ShellAboutA equ <_imp__ShellAboutA@16>
;proto_ShellAboutW typedef proto WINSTDCALLCONV :HWND, :LPWSTR, :LPWSTR, :HICON
;externdef WINSTDCALLCONV _imp__ShellAboutW@16: ptr proto_ShellAboutW
;ShellAboutW equ <_imp__ShellAboutW@16>
;ifdef UNICODE
;ShellAbout EQU <ShellAboutW>
;else
;ShellAbout EQU <ShellAboutA>
;endif
;
; Using these instead:
;
@DefProto WINBASEAPI, ShellAboutA, stdcall, , <:HWND, :LPSTR, :LPSTR, :HICON>, 16
@DefProto WINBASEAPI, ShellAboutW, stdcall, , <:HWND, :LPSTR, :LPSTR, :HICON>, 16
ifdef UNICODE
ShellAbout EQU <ShellAboutW>
else
ShellAbout EQU <ShellAboutA>
endif